Avatar billede kovalt Nybegynder
10. oktober 2005 - 17:13 Der er 9 kommentarer og
1 løsning

Tjekke om samme er valgt

Hej

  Jeg har et variabelt antal dropdown-felter, som alle indholder de samme værdier. Antallet af dropdown-felter jeg har, er indeholdt i en ASP-var.

Kan jeg i et javaScript løbe at felter igennem og kontrollere om det samme ID i dropdown-felterne er valgt to eller flere gange?

/Kovalt
Avatar billede roenving Novice
10. oktober 2005 - 18:01 #1
Måske er det denne, som skovenborg har lavet, du skal bruge ?-)
Avatar billede kovalt Nybegynder
10. oktober 2005 - 18:08 #2
åhh hvilken`?
Avatar billede roenving Novice
10. oktober 2005 - 18:21 #3
Avatar billede kovalt Nybegynder
10. oktober 2005 - 18:32 #4
Det ser fornuftigt ud... jeg skriver lige lidt om i det og vender tilbage
Avatar billede kovalt Nybegynder
10. oktober 2005 - 18:53 #5
det lader til at det er et problem at mine dropdown har samme værdi når siden hentes.
Avatar billede roenving Novice
11. oktober 2005 - 00:13 #6
Men er mit gæt, at de skal indeholde forskellige værdier, når der submittes, rigtigt ?-)
Avatar billede kovalt Nybegynder
11. oktober 2005 - 08:18 #7
jo det er rigtigt - men jeg synes ikke jeg kan få det til at spille
Avatar billede kovalt Nybegynder
11. oktober 2005 - 08:26 #8
lige nu har jeg følgende:


<script language="JavaScript" type="text/jscript">
<!--
var setValues = new Array();
var frmElm;

function initSelBoxes(frmName) {
      frmElm = document.forms[frmName];
      for (i=0;i<frmElm.length;i++) {
            if (frmElm.elements[i].type == "select-one") {
                setValues[frmElm.elements[i].name] = frmElm.elements[i].selectedIndex;
            }
      }
}

function changeValue(selElm) {
      selIndex = selElm.selectedIndex;
      for (i in setValues) {
            if (setValues[i] == selIndex) {
                  frmElm.elements[i].options[setValues[selElm.name]].selected = true;
                  setValues[i] = setValues[selElm.name];
                  setValues[selElm.name] = selIndex;
                  break;
            }
      }
}
//-->
</script>

</head>


<body topmargin="0" leftmargin="0" onLoad="initSelBoxes('vagtForm');">
   

<form action="opretVagt.asp?step=3" method="post" name="vagtForm">
<select name='personaleID' id='personaleID-1' style='width:200px;' onChange='changeValue(this);'>
<option value='1'>Nummer 1</option>
<option value='2'>Nummer 2</option>
</select>


<select name='personaleID' id='personaleID-2' style='width:200px;' onChange='changeValue(this);'>
<option value='1'>Nummer 1</option>
<option value='2'>Nummer 2</option>
</select>

<input type="submit" value="Videre">
</form>

</body>
</html>

********************************************************
Jeg har ikke flyttet valideringen ned på submit-knap idet jeg i grunden gerne vil have valideringen allerede når man vælger fra dropdown.

Jeg er ikke så stærk i javaScript - men jeg ville blot gerne have en alert() når man vælger en værdi der i forvejen er taget. Jeg ved ikke om dette er et problem nu hvor alle mine dropdown initialisere med den samme værdi.

/Kovalt
Avatar billede kovalt Nybegynder
11. oktober 2005 - 08:30 #9
hvis jeg retter funktionen changeValue() til

function changeValue(selElm) {
      selIndex = selElm.selectedIndex;
      for (i in setValues) {
            if (setValues[i] == selIndex) {
                alert('test');
            }
      }
}

virker det næsten. Jeg kan godt få popuppen frem - men det passer ikke sammen med at det kun er når man vælger en værdi, der i forvejen er valgt.

Når jeg starter ud er begge sat til værdien 1. Hvis jeg herefter sætter begge til værdien 2 så sker der intet.
Avatar billede kovalt Nybegynder
25. oktober 2005 - 16:10 #10
jeg melder pas - lukker
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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