Avatar billede france Novice
07. marts 2018 - 20:45 Der er 4 kommentarer

DropDown menu

Hej,

Jeg har 5 dropdown menuer, hvor indholdet i dem alle er det samme.
Valgmulighederne er feks. A, B, C, D, E og F i alle 5 drop downs.

Findes der et script eller lign. som melder en 'fejl' hvis brugeren forsøger at vælge det samme bogstav mere end 2 gange?
Formålet er, at brugeren feks. ikke må vælge A, A, A, A og A

Håber nogen kan hjælpe... det haster lidt :-)
Avatar billede jakobdo Ekspert
07. marts 2018 - 20:51 #1
Du kunne jo gemme data i et array ?
Så når de laver et valg, så gemmes denne værdi i et array.
Og inden du gemmer i array / listen, så tjekker du lige om værdien er i din liste inden.
Hvis ja, meld fejl.
Hvis nej, tilføj værdien.

Men kommer også lidt an på hvilken dropbox du anvender, dog bør teknikken kunne bruges på de fleste.
Avatar billede france Novice
07. marts 2018 - 21:16 #2
Prøv at klikke ind på dette link... scroll ned til 'Sæt hold' og så kan du se hvad jeg prøver at lave.
Men må kun vælge de samme hold maks. to steder.

http://www.fantasymanager.dk/managers_open/micmacXyem86dghvw2803.html
Avatar billede Rune1983 Ekspert
08. marts 2018 - 07:46 #3
Kunne det ikke gøres i javascript. Se eksempel nedenfor. Har ikke testet det af.

<div style="width: 100%;">
    <select id="DropBox1" onchange="CheckDub();"></select>
    <select id="DropBox2" onchange="CheckDub();"></select>
    <select id="DropBox3" onchange="CheckDub();"></select>
    <select id="DropBox4" onchange="CheckDub();"></select>
    <select id="DropBox5" onchange="CheckDub();"></select>
</div>
<div style="width: 100%;" id="DivFejl">FEJL. Valgt mere end 2 gange</div>

<script>
function CheckDub(){
    var dropBox1 = document.getElementById('DropBox1').options[document.getElementById('DropBox1').selectedIndex].value;
    var dropBox2 = document.getElementById('DropBox2').options[document.getElementById('DropBox2').selectedIndex].value;
    var dropBox3 = document.getElementById('DropBox3').options[document.getElementById('DropBox3').selectedIndex].value;
    var dropBox4 = document.getElementById('DropBox4').options[document.getElementById('DropBox4').selectedIndex].value;
    var dropBox5 = document.getElementById('DropBox5').options[document.getElementById('DropBox5').selectedIndex].value;

    var countDropBox1 = 1;
    if(dropBox1 == dropBox2){ countDropBox1++; }
    if(dropBox1 == dropBox3){ countDropBox1++; }
    if(dropBox1 == dropBox4){ countDropBox1++; }
    if(dropBox1 == dropBox5){ countDropBox1++; }

    var countDropBox2 = 1;
    if(dropBox2 == dropBox3){ countDropBox2++; }
    if(dropBox2 == dropBox4){ countDropBox2++; }
    if(dropBox2 == dropBox5){ countDropBox2++; }

    var countDropBox3 = 1;
    if(dropBox3 == dropBox4){ countDropBox3++; }
    if(dropBox3 == dropBox5){ countDropBox3++; }

    if(countDropBox1 > 2 || countDropBox2 > 2 || countDropBox3 > 2){
        document.getElementById('DivFejl').style.display = "block";
    }else{
        document.getElementById('DivFejl').style.display = "none";
    }
}
CheckDub();
</script>
Avatar billede jakobdo Ekspert
08. marts 2018 - 08:30 #4
Jeg har lavet denne løsning: https://jsfiddle.net/04rfjhLL/
Er bestemt ikke perfekt, men håber det kan give dig en ide.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester