Avatar billede lsskaarup Nybegynder
21. februar 2005 - 10:36 Der er 9 kommentarer og
1 løsning

Finde og tjekke på indholdet i en select (dropdown)

Jeg skal lave et lille script som tjekker om der er valgt et punkt i en dropdown-menu. Så standard står den til et tomt punkt, og derer faktisk denne jeg skal have fat i. For et andet felt må ikke være udfyldt samtidig med at dette felt ikke er det. Noget ligende dette:

if (ds.r461.value != "" && ds.r464.value == "") {
    alert("Du har glemt at udfylde følgende felt ved Kipnings- og montagestænger: Profil");
  }

Dropdownen er r464, men hvordan får jeg fat i værdien i boksen?
Avatar billede di8leva Nybegynder
21. februar 2005 - 10:49 #1
Sådan her kan du gøre:
------------------------------------------------
<HTML>
<script language="JavaScript" type="text/JavaScript">
function checkIt(source)
{
    alert('Værdien er ' + source.value);
}
</script>
<select onChange="checkIt(this);">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
Avatar billede lsskaarup Nybegynder
21. februar 2005 - 11:00 #2
Jaaaa, men det skal ikke være ved ændring af selve select-boksen er tjekket skal foregå, men derimod på en beregn-knap.
Avatar billede roenving Novice
21. februar 2005 - 11:43 #3
Prøv at bruge sel.selectedIndex == 0 !-)
Avatar billede di8leva Nybegynder
21. februar 2005 - 11:43 #4
"Dropdownen er r464, men hvordan får jeg fat i værdien i boksen?"

Jeg gjorde et exempel på hvordan man får fat i værdien. Jeg kan ikke gøre meget mer uden at se mer av din kildekode, men jeg forventede mig at du kunde gøre det selv nu nær du vet hvordan du finder værdien.
Avatar billede lsskaarup Nybegynder
21. februar 2005 - 13:29 #5
Okay

Selve selecten:

<td class="content" colspan="3"><select name="r464" size="1" class="listform" style="width: 100px">
<option value=""></option>
<?php
    reset($PIPE);
    while (list (, $dv) = each ($PIPE)) {
        $select = '';
        if ($dv == $res['r464']) $select = ' selected';
?>
    <option value="<?php echo $dv; ?>"<?php echo $select; ?>><?php echo $dv; ?></option>
<?php
    }
?>
    </select></td>

Ved tryk på Beregn-knappen requier jeg så siden, som laver beregningen og tjekker for diverse fejlintastninger, og det er i denne jeg godt vil undersøge om felt r461 er udfyldt samtidig med at der ikke er valgt noget i felt r464 (selecten).

  function performBeregn() {

/* var resultat = ds.r334.value + ds.r369.value - 1;
  if (resultat != ds.r42a.value) {  //Hvordan får jeg fat i felt r42a???
    alert("Tallene passer ikke");
  }*/


//Tjek for om antal, vægt pr. stk og kostpris kr/kg er udfyldt for næsten hvert produkttype
  if (ds.r334.value != "" && ds.r335.value < 1) {
    alert("Du har glemt at udfylde et af følgende felter ved Rammer: Vægt.");
  } else if (ds.r345.value != "" && ds.r346.value < 1) {
    alert("Du har glemt at udfylde følgende felter ved ekstra ramme 1: Vægt.");
  } else if (ds.r357.value != "" && ds.r358.value < 1) {
    alert("Du har glemt at udfylde følgende felter ved ekstra ramme 2: Vægt.");
  } else if (ds.r380.value != "" && ds.r381.value < 1) {
    alert("Du har glemt at udfylde følgende felter ved ekstra ramme 3: Vægt.");
  } else if (ds.r404.value < 1 && ds.r403.value > 0) {
    alert("Du har glemt at udfylde følgende felt ved Vindadstivning: Vægt");
  } /*else if (ds.r461.value != "" && isset(ds.r464.value)) {
    alert("Du har glemt at udfylde følgende felt ved Kipnings- og montagestænger: Profil");
  }*/


/* else if(ds.r403.value != "") {
    if (ds.r403.value != "0" && ds.r404.value < 1) {
        alert("Du har glemt at udfylde følgende felt ved Vindadstivning: Vægt");
    }
  }*/

.
.
.
.
}
Avatar billede roenving Novice
21. februar 2005 - 16:15 #6
if (ds.r461.value != "" && ds.r464.selectedIndex == 0) {

-- for jeg går ud fra, at den tomme er den første !-)
Avatar billede lsskaarup Nybegynder
21. februar 2005 - 16:57 #7
Jeps, den første er den tomme, kigger dog nok ikke på det før i morgen.
Avatar billede lsskaarup Nybegynder
22. februar 2005 - 08:18 #8
Sådan roenving, det virker takker.
Avatar billede roenving Novice
22. februar 2005 - 09:37 #9
Velbekomme '-)
Avatar billede roenving Novice
22. februar 2005 - 15:53 #10
-- og tak for point ;~}
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