Avatar billede tankbilligt.dk Nybegynder
24. februar 2004 - 20:10 Der er 24 kommentarer og
1 løsning

<select> defineret af forrige <select>

Jeg skal bruge en form for script, der kan ændre variablerne for den efterfølgende <select>

ex.

<select name='aldersgruppe'>
<option value='1'>0-8</option>
<option value='2'>9-16</option>
<option value='3'>17-24</option>
</select>

<select name='alder'>
<option value='0'>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
<option value='6'>6</option>
<option value='7'>7</option>
<option value='8'>8</option>
</select>
Avatar billede nikolajdu Nybegynder
24. februar 2004 - 20:41 #1
Sådan her?

<script>
function showOther(g){

star = g.split("-")[0];
end = g.split("-")[1]

document.f.alder.options.length = 0;

for(a = star; a <= end; a++){
    document.f.alder.options[ document.f.alder.options.length ] = new Option( a, a );
}

document.f.alder.style.visibility = 'visible';
}
</script>
</head>

<body>
<form name="f">
<select name='aldersgruppe' onchange='if(this.options[this.selectedIndex].value!=0){showOther(this.options[this.selectedIndex].text)}else{document.f.alder.style.visibility = "hidden"}'>
<option value='0'>Gruppe</option>
<option value='1'>0-8</option>
<option value='2'>9-16</option>
<option value='3'>17-24</option>
</select>

<select name='alder' style="visibility:hidden">
</select>

</form>

/Nikolaj
Avatar billede tankbilligt.dk Nybegynder
24. februar 2004 - 20:54 #2
Skal jeg så lave 3 selects for alder ???
Avatar billede nikolajdu Nybegynder
24. februar 2004 - 21:27 #3
Har du prøvet? Den laver dem selv.
Avatar billede googolplex Novice
24. februar 2004 - 22:07 #4
http://roenving.users.whitehat.dk/

Se eksemplet 'Multiple Selects'
Avatar billede tankbilligt.dk Nybegynder
24. februar 2004 - 22:56 #5
Hvor skriver jeg hvad value og det skal være ?
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 00:51 #6
Jamen skal value ikke være 0-8, 9-16 og 17-24?????
Avatar billede roenving Novice
25. februar 2004 - 02:25 #7
-- en lille detalje, nikolaj:

star = +g.split("-")[0];
end = +g.split("-")[1];

-- for ellers når javascript ikke til at lave sin automatiske typecasting !-)
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 03:10 #8
Det virker ellers hos mig.
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 03:10 #9
Hvad gør plusset der?
Avatar billede roenving Novice
25. februar 2004 - 03:20 #10
+ typecaster til en tal-værdi, for når du vælger 9-16 vil '9' være større end '16', så start-betingelsen i for-løkken vil ikke tillade videre-tælling !-)
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 03:22 #11
Så forstår jeg ikke hvorfor det virker alligevel :!) ?
Avatar billede roenving Novice
25. februar 2004 - 03:23 #12
Jeg opdagede den kun fordi den ikke virkede, når jeg valgte 9-16 ...
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 03:24 #13
Du har jo fuldstændigt ret! - Forstår det bare ikke er sikker på jeg testede det af inden jeg postede.
Avatar billede roenving Novice
25. februar 2004 - 03:30 #14
Hvis du har testet kan det sagtens være, at du ikke lige har prøvet 9-16, men egentlig er det jo indlysende, for første gang løkken kører har der ikke været nogen grund til type-casting, så a har tekst-værdien '9' og end har tekst-værdien '16' ...

Senere i forløbet er der ingen problemer, for ++ (inkrementering !-) giver ingen mening, hvis den ikke udføres overfor tal, så tekst-strengen forsøges typecastet, og ved senere sammenligninger er den første et tal, så igen forsøges en typecasting, og den lykkes !-)
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 03:31 #15
well tak for info :)
Avatar billede roenving Novice
25. februar 2004 - 03:32 #16
U're welcome ;O)
Avatar billede tankbilligt.dk Nybegynder
25. februar 2004 - 12:52 #17
Jamen hvordan udbygges det så med databasekald m.v.
Avatar billede nikolajdu Nybegynder
25. februar 2004 - 13:05 #18
Det her er javascript - Det er hverken mySQL MSSQL eller noget der linger og har intet til fællles med de kategorier.
Avatar billede tankbilligt.dk Nybegynder
25. februar 2004 - 14:39 #19
Nej men hvis denne løsning ikke kan bruges til at genererre nogle selects ud fra MySQL, så kan det ikke bruges...
Avatar billede roenving Novice
25. februar 2004 - 14:42 #20
Jamen, nikolajs løsning tog jo udgangspunkt i dit konkrete spørgsmål, og den vil jo virke indenfor den begrænsning, at man kan aflæse hvad for et interval, som skal expandes på den første select ...

-- ellers skal du, som googolplex skriver, over i noget som: http://roenving.users.whitehat.dk/WD4Selects-beta.html
Avatar billede tankbilligt.dk Nybegynder
25. februar 2004 - 16:34 #21
hvad gør:

function initSels(){
    createOpts(document.getElementById('sel1'));
    createOpts(document.getElementById('sel3'));
}
Avatar billede tankbilligt.dk Nybegynder
27. februar 2004 - 12:41 #22
så må i jo kunne fortælle mig hvordan man definerer hvilken option der skal være selected...
Avatar billede nikolajdu Nybegynder
27. februar 2004 - 15:16 #23
ger du jo om i det andet spørgsmål.


<option select="selected" value="hej">hej</option>
Avatar billede tankbilligt.dk Nybegynder
27. februar 2004 - 15:26 #24
hvordan vil du sætte det ind i ovenstående ?
Avatar billede nikolajdu Nybegynder
27. februar 2004 - 16:28 #25
Forklar hvad du prøver på - Er temmeligt træt af at gætte mig frem - Giv os nogle opysninger i stedet.
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