Avatar billede pcb Nybegynder
02. oktober 2001 - 09:31 Der er 9 kommentarer og
1 løsning

Sammenligning af to felter

Hej,

Hvis jeg har en dropdownbox med alle byer i Danmark og et almindeligt textfelt hvor brugeren indtaser sit post nr.

Hvordan får jeg det så til at automatisk finde by\'en i dropdownbox\'en udfra det indtastet post nr.
Avatar billede nikolajdu Nybegynder
02. oktober 2001 - 10:12 #1
Du kan gøre sådan her:

<html>
<head>
    <title></title>
   
    <script>
   
    function skift(nr){
   
    for (i=0; i<document.f.s.length;i++){
   
    if (document.f.s[i].value==nr){
    document.f.s.options[i].selected=true;
        }
    }
}
   
    </script>
   
</head>

<body>
<form name=\"f\">

<select name=\"s\" onChange=\"document.f.text.value=this.options[this.selectedIndex].value\">

<option name=\"2100\" value=\"2100\">Østerbro</option>
<option name=\"2200\" value=\"2200\">Nørrebro</option>
<option name=\"2300\" value=\"2300\">Amager</option>
</select>

<input type=\"text\" name=\"text\">

<input type=\"button\" value=\"Tjeck\" onClick=\"skift(document.f.text.value)\">


</form>


</body>
</html>
Avatar billede pcb Nybegynder
02. oktober 2001 - 10:21 #2
Tak
Avatar billede nikolajdu Nybegynder
02. oktober 2001 - 10:24 #3
fino fino :-)
Avatar billede olebole Juniormester
02. oktober 2001 - 10:25 #4
<ole>
Man kunne jo også skrive:

function skift(nr){
  for (i=0; i<document.f.s.length;i++){
    if (nr == document.f.s[i].value.substring(0, nr.length)){
      document.f.s.options[i].selected=true;
    }
  }
}

...og så lægge kaldet her:

<input type=\"text\" name=\"text\" onmouseup=\"skift(this.value)\">

...så vil den hele tiden finde det postnummer, der bedst passer til det indtastede. Knappen skal naturligvis så udelades.
/mvh
</bole>
Avatar billede nikolajdu Nybegynder
02. oktober 2001 - 10:26 #5
nice nice :-)
Avatar billede nikolajdu Nybegynder
02. oktober 2001 - 10:27 #6
Bliver måske lidt tungt Ole, hvis vi går ud fra at der er 500 postnumre der skal tjekkes for hver keyup handling. :-)
Avatar billede olebole Juniormester
02. oktober 2001 - 10:29 #7
Nuvel...jeg har ikke testet, meeeen med en alm. maskine, tror jeg nu ikke det bliver for tungt...(?)
Avatar billede jakoba Nybegynder
02. oktober 2001 - 12:05 #8
nikolajdu >> ingen grund til at teste for hver keyup. først en lille pre-test på om det skrevne er eksakt 4 cifre.

husk også at det olebole skriver er en forklaring, beregnet på at skulle forstås. I produktion vil sådan en kritisk funktion nok blive omskrevet til:
function skift(nr){
  var o=document.f.s.options;
  var i=s.length;
  for(;i;)if(nr==o[--i].value.substring(0,4))o[i].selected=true;
}
og køre langt hurtigere (men være knap så nemt at forstå)

mvh JakobA
Avatar billede olebole Juniormester
02. oktober 2001 - 12:09 #9
...det fikse er *netop* at den finder frem til det rette nummer efterhånden - altså test for hver keyup. Det er måske mere aktuelt, hvis det f.eks. er et navn, man skal finde, meeeeen  :)
Og ja....det vil være meget lettere at forstå med test på hver keyup  =)
/mvh
Avatar billede nikolajdu Nybegynder
02. oktober 2001 - 12:11 #10
Damn jeg får lært noget i dag.

Kan i ikke kigge forbi her: http://www.eksperten.dk/spm/115989

Er gået lidt i stå. Godt nok er spørgsmålet lukket, men skidt pyt.
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