Avatar billede quarkb Nybegynder
15. august 2005 - 11:10 Der er 7 kommentarer og
2 løsninger

Dropdown menu med onchange

Jeg har to dropdown menuer som begge er tidsmenuer.

Den ene er starttid og den anden er sluttid. Jeg vil gerne når man f.eks vælge kl. 10:00 i starttid så startet valg mulighederne for sluttid ved 11.00
Avatar billede nielle Nybegynder
15. august 2005 - 11:35 #1
Jamen, så prøver jeg da bare igen:

En mulig løsning kunne se sådan ud:

<script language="javascript" type="text/javascript">
function sync(val)
{
    val = parseInt(val);

    insertElm = document.getElementById("sluttid");
    insertElm.options.length = 0;

    optNo = 0;
    while (val+optNo+1 <= 24)
    {
        newVal = val+optNo+1;
        insertElm.options[optNo] = new Option(newVal + ":00", newVal);

        optNo++;
    }
}
</script>

<select name="starttid" onChange="sync(this.value);">
<option value="0">0:00</option>
<option value="1">1:00</option>
<option value="2">2:00</option>
<option value="3">3:00</option>
<option value="4">4:00</option>
<option value="5">5:00</option>
<option value="6">6:00</option>
<option value="7">7:00</option>
<option value="8">8:00</option>
<option value="9">9:00</option>
<option value="10" selected>10:00</option>
<option value="11">11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
</select>

<select name="sluttid">
<option value="11" selected>11:00</option>
<option value="12">12:00</option>
<option value="13">13:00</option>
<option value="14">14:00</option>
<option value="15">15:00</option>
<option value="16">16:00</option>
<option value="17">17:00</option>
<option value="18">18:00</option>
<option value="19">19:00</option>
<option value="20">20:00</option>
<option value="21">21:00</option>
<option value="22">22:00</option>
<option value="23">23:00</option>
</select>
Avatar billede roenving Novice
15. august 2005 - 11:51 #2
Eller måske bare:

<form>
<select name="starttid" onchange="this.form.sluttid.selectedIndex=this.selectedIndex+(this.selectedIndex<this.length-1?1:0);">

...
</select>

<select name="sluttid">

...
</select>
</form>

-- og hvis den sidste har en option mere end den første (vel naturligt med en kl 0:00 i den ?-), kan betingelsen spares væk, så der kun står:

<select name="starttid" onchange="this.form.sluttid.selectedIndex=this.selectedIndex+1;">
Avatar billede quarkb Nybegynder
15. august 2005 - 12:01 #3
Det var jo lige hvad jeg manglede, jeg har valgt at bruge roenving's foreslag. Men da begge kan bruges syntes jeg i skal dele pointene.
Avatar billede nielle Nybegynder
15. august 2005 - 12:11 #4
Svar :^)
Avatar billede quarkb Nybegynder
15. august 2005 - 12:16 #5
Har du/i en nem måde jeg kan lave en løkke på, så jeg ikke skal skrive jeg ved ikke hvormange <option value="17:00">17:00</option>, når jeg ønsker 15 min i mellem hver?
Avatar billede quarkb Nybegynder
15. august 2005 - 12:22 #6
F.eks sådan her.
<% for h=0 to 23
<option value="<%= h %>:00"><%= h %>:00</option>
<option value="<%= h %>:15"><%= h %>:15</option>
<option value="<%= h %>:30"><%= h %>:30</option>
<option value="<%= h %>:45"><%= h %>:45</option>
<% next %>

Den havde jeg selv, eller tak for jeres hjælp.
Avatar billede roenving Novice
15. august 2005 - 12:46 #7
Velbekomme '-)
Avatar billede roenving Novice
15. august 2005 - 12:56 #8
-- og tak for point ;~}
Avatar billede nielle Nybegynder
15. august 2005 - 23:09 #9
Takker for point :^)
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