Avatar billede kimborg Nybegynder
18. maj 2009 - 20:55 Der er 4 kommentarer og
1 løsning

Valg i en select ændrer den næste select

Hejsa

Jeg har et lille script som tilføjer en tekstboks, hvis man vælger et bestemt valg i en select, men jeg synes det kunne være dejligt med eks. følgende:

Select1 valg1("Kontingent") -> tekstboks

Select1 valg2("Indskud") -> teksboks

Select1 valg3("Andet") -> Select2 valg1("indtægt") -> 2x teksboks
Select1 valg3("Andet") -> Select2 valg2("udgift") -> 2x teksboks

Men jeg ved ikke lige hvor jeg skal starte...??
Avatar billede ebusiness Nybegynder
23. maj 2009 - 16:20 #1
Umiddelbart vil jeg sige at det kan du vel gøre på stort set samme måde. Men nu ved jeg ikke eksakt hvordan du har gjort, du kunne måske vise den kode du allerede har lavet, for ellers er det svært at svare på dit spørgsmål uden at gå tilbage til Adam og Eva.
Avatar billede kimborg Nybegynder
25. maj 2009 - 12:05 #2
Her er det jeg bruger nu:

<script type="text/javascript">
function showAndet1(sel){
  sel.form.andet1Text.style.visibility = sel.selectedIndex == 2 ? "visible" : "hidden";
}
</script>
<script type="text/javascript">
function showAndet2(sel){
  sel.form.andet2Text.style.visibility = sel.selectedIndex == 2 ? "visible" : "hidden";
}
</script>
<script type="text/javascript">
function showAndet3(sel){
  sel.form.andet3Text.style.visibility = sel.selectedIndex == 2 ? "visible" : "hidden";
}
</script>



Den ene selectbox:

<td>
<select name="Overskrift1" onchange="showAndet3(this);" style="font-weight:normal;width:170px;color:#333333;background-color:#FFFFFF;">
          <option value="Kontingent">Kontingent</option>
          <option value="Indskud">Indskud</option>
    <option value="">Anden bevægelse...</option>
    </select></td>
    <td><input type="text" name="Overskrift2" id="andet3Text" style="visibility:hidden;font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
</td>
Avatar billede ebusiness Nybegynder
25. maj 2009 - 13:41 #3
Ok, der skal vist bare ryddes lidt op her.

Du skal kun bruge en funktion som tager sig af alle input felterne, og så kan vi sætte nogle div elementer omkring så du nemt kan vise og skjule flere ting på en gang:

<script type="text/javascript">
function showAndet(sel){
    document.getElementById("kon1div").style.display = sel.selectedIndex == 0 ? "" : "none";
    document.getElementById("ind1div").style.display = sel.selectedIndex == 1 ? "" : "none";
    document.getElementById("andet1div").style.display = sel.selectedIndex == 2 ? "" : "none";
}
</script>

<select name="Overskrift1" onchange="showAndet(this);" style="font-weight:normal;width:170px;color:#333333;background-color:#FFFFFF;">
    <option value="Kontingent">Kontingent</option>
    <option value="Indskud">Indskud</option>
    <option value="">Anden bevægelse...</option>
</select>
<div id="kon1div">Kontingent: <input type="text" name="Overskrift1" id="kon1Text" style="font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;"></div>
<div id="ind1div" style="display:none;">Indskud: <input type="text" name="Overskrift2" id="ind1Text" style="font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;"></div>
<div id="andet1div" style="display:none;">
Andet: <input type="text" name="Overskrift3" id="andet1Text" style="font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
<br>
Mere andet: <input type="text" name="Overskrift4" id="andet2Text" style="font-weight:normal;width:80px;color:#333333;background-color:#FFFFFF;">
</div>
Avatar billede kimborg Nybegynder
28. maj 2009 - 16:54 #4
Det virker helt fint, tak

Smider du lige et svar
Avatar billede ebusiness Nybegynder
28. maj 2009 - 17:20 #5
Det har jeg sådan set allerede gjort ;-)
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

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