Avatar billede stufdbear Nybegynder
14. januar 2005 - 21:54 Der er 6 kommentarer og
2 løsninger

Input værdi vælger en select

Hej

Hvis man har et input felt og skriver et tal der i, er det så muligt at i en select box der bliver den værdi som ligger tættest på det man skriver automatisk valgt? og hvis ja.. hvordan? :o)

StufdBear
Avatar billede moocher Nybegynder
14. januar 2005 - 22:45 #1
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<script language="JavaScript" type="text/JavaScript">
function skift() {

    antal_selectbokse = 4;
    tal = document.getElementById("a1").value-document.getElementById("vaelg_mig").value;
    if (0 > tal) {tal = tal * - 1;}
    navn = 1;
    for (i=2; i<=antal_selectbokse; i=i+1)
    {
      temp = document.getElementById("a"+i).value - document.getElementById("vaelg_mig").value;
      if (0 > temp) {temp = temp * - 1;}
      if (tal > temp) {tal = temp; navn = i;}
    }
  document.getElementById("a"+navn).selected = true;
}
</script>



</head>

<body>
<form name="form1">
<input id="vaelg_mig" type="text" onChange="skift()">

<select name="Liste1" size="1">
<option id="a1" value="1" selected>1</option>
<option id="a2" value="10">10</option>
<option id="a3" value="100">100</option>
<option id="a4" value="1000">1000</option>
</select>
</form>
</body>
</html>
Avatar billede stufdbear Nybegynder
14. januar 2005 - 23:42 #2
Super, måtte dog lave onChange om til onKeyUp, men hvad nu hvis der er x antal options?
Avatar billede roenving Novice
16. januar 2005 - 15:01 #3
-- og et par småforbedringer samt svar på det sidste spørgsmål:

<script language="JavaScript" type="text/JavaScript">
function skift() {
    var sel = document.form1.Liste1,navn=0;
    var antal_selectbokse = sel.length;
    var val = document.getElementById("vaelg_mig").value;
    var tal = sel.options[0].value-val;
    if (0 > tal)
      tal = -tal;
    for (i=1; i<antal_selectbokse; i++)
    {
      temp = sel.options[i].value - val;
      if (0 > temp)
        temp = -temp;
      if (tal > temp)
        {tal = temp; navn = i;}
    }
  sel.options[navn].selected = true;
}
</script>



</head>

<body>
<form name="form1">
<input id="vaelg_mig" type="text" onkeyup="skift()">
Avatar billede stufdbear Nybegynder
17. januar 2005 - 20:11 #4
Hvis du smider et svar roenving kan du få de fleste point da jeg har brugt dit svar og hvis du har mod på en ny opgave må du gerne se på http://www.eksperten.dk/spm/580073 :o)
Avatar billede roenving Novice
17. januar 2005 - 23:33 #5
Nu var det jo godt nok moocher, som laver benarbejdet, jeg tilføjede bare et par småting, så det er vel ham/hende, som skal have broderparten af pointene !-)

-- els velbekomme '-)
Avatar billede stufdbear Nybegynder
19. januar 2005 - 13:21 #6
Oki så får moocher mest, men i skal begge ha mange tak :o)
Avatar billede roenving Novice
19. januar 2005 - 14:19 #7
Tak for point ;~}
Avatar billede moocher Nybegynder
19. januar 2005 - 16:29 #8
Jeg omtaler mig selv som hr :)
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





White paper
Sikkerhed gjort enkelt: Beskyt din virksomhed direkte i browseren