Avatar billede hoejgaard Juniormester
27. september 2008 - 19:40 Der er 13 kommentarer og
1 løsning

noget med select box

Hej
Jeg har følgende :

<tr><td>Hvor mange</td>
    <td><select name="ant" value="">
        <option value="Ikke angivet">Ikke angivet</option>
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
        <option value="d">d</option>
        <option value="e">e</option>
        </select>
  </td>
</tr>

Hvis man feks. vælger "e" så skal der komme feks 1o text felter frem, som man så har mulighed for at udfylde. Ved de andre options skal der ikke komme flere felter frem.

Altså 10 af disse skal blive genereret, men med hver deres "Name" :
<td><INPUT NAME="etellerandet" TYPE="text" SIZE="30" MAXLENGTH="100"></TD>

Hvordan gør man det ??
Tror det kan gøres med javascript, men måske jeg tager fejl...
Avatar billede erikjacobsen Ekspert
27. september 2008 - 19:46 #1
Put dem i en skjult div, som du så viser, hvis "e" vælges.
Avatar billede virus Nybegynder
27. september 2008 - 19:49 #2
<tr><td>Hvor mange</td>
    <td><select name="ant" value="" onchange="if(this.options(this.selectedIndex).value=='e';)document.getElementById('skjultdiv').style.display=''">
        <option value="Ikke angivet">Ikke angivet</option>
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
        <option value="d">d</option>
        <option value="e">e</option>
        </select>
  </td>
</tr>
<div style="display:none" id="skjultdiv">
<inp.....
</div>
Avatar billede virus Nybegynder
27. september 2008 - 19:49 #3
hvorfor en ; efter 'e'.. den skal du bare fjerne
Avatar billede virus Nybegynder
27. september 2008 - 19:50 #4
desuden er det jo [this.selectedIndex] ikke?
Avatar billede olebole Juniormester
27. september 2008 - 19:53 #5
<ole>

- eller:
    onchange="document.getElementById('skjultdiv').style.display=(this.value=='e'?'block':'none')">

/mvh
</bole>
Avatar billede virus Nybegynder
27. september 2008 - 19:55 #6
Nu hvor hoejgaard har en value på sin select, bliver den ignoreret af browserne, for da virker dit eksempel jo fint ole, eller ikke
Avatar billede olebole Juniormester
27. september 2008 - 20:23 #7
virus >> Undskyld, men jeg forstår ikke, hvad du skriver  =)
Avatar billede virus Nybegynder
27. september 2008 - 20:26 #8
Forstår jeg godt ole, er også på vej i byen...

snip
select name="ant" value="">
        <option value="Ikke angivet">Ikke angivet</option>


Han har givet sit <select element en value.. Bliver den ignoreret af browseren, eller hvordan? Hvis den bliver ignoreret af browseren er dit eksempel korrekt, ellers har this.value jo altid ""
Avatar billede olebole Juniormester
27. september 2008 - 20:44 #9
ELEMENT.style.display = this.value=='e' ? 'block' : 'none';

- betyder det samme som:

if (this.value=='e') {
    ELEMENT.style.display = 'block';
} else {
    ELEMENT.style.display = 'none';
}

Det betyder, at kun, hvis selectens værdi er 'e', vises elementet. Ellers skjules det  ;o)
Avatar billede olebole Juniormester
27. september 2008 - 20:47 #10
- ahhhhh ... han skal naturligvis ikke have value="" på select-tagget. Et select-tag kan ikke have en value attribut. Man kan til gengæld godt hente værdien som property på select elementet med DOM Level 1 - som er det, jeg gør i eksemplet  =)
Avatar billede hoejgaard Juniormester
28. september 2008 - 00:27 #11
Jeg er ikke en haj til det her, så vil bare vide hvilken af jeres metoder der er smartest ? :-)
Avatar billede olebole Juniormester
28. september 2008 - 02:03 #12
Hvis brugeren vælger en anden option, skal elementet vel gemmes igen. Det gør min. Men jeg synes da, vi skal dele rovet, virus  =)
Avatar billede hoejgaard Juniormester
28. september 2008 - 10:40 #13
okay, olebole
hvordan ser din løsning så ud i sin helhed ? :-)
Avatar billede w13 Novice
28. september 2008 - 13:33 #14
<tr><td>Hvor mange</td>
    <td><select name="ant" onchange="document.getElementById('skjultdiv').style.display=(this.value=='e'?'block':'none')">
        <option value="Ikke angivet">Ikke angivet</option>
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
        <option value="d">d</option>
        <option value="e">e</option>
        </select>
  </td>
</tr>
<div style="display:none" id="skjultdiv">
<inp.....
</div>
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