27. maj 2004 - 11:04
Der er
8 kommentarer og 1 løsning
select box som bestemmer hvor meget der vises i select box 2
Hej Jeg er ikke særlig stærk i JavaScript. Men vil det ikke være muligt at lave en select box som der bestemmer hvor meget der må vises i select box 2? <select name="alder1"> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> <select name="alder2"> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> Det jeg mener er at hvis man fx 17 i alder1, så skal der kun vises fra og med 17 og op efter i alder2. Er I med på hvad jeg mener? På forhånd tak :-) // Rene
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
Nærmest et forsimplet eksempel, for jeg har svært ved at se hvordan en fortrydelse af en fejl kan komme ind uden lidt hokus-pokus !-) <form> <select name="alder1" onchange="s=this.form.alder2;for(i=this.selectedIndex-1;i>=0;i--){s.options[i]=null;}this.disabled=true;s.disabled=false;"> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> <select name="alder2" disabled="disabled"> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> </form>
Hej. Det virker næsten som det skal. Men hvis nu at man kommer til at vælge forkert i alder1, kan man ikke rette det til noget andet. Fordi at alder1 bliver disabled. Kan man ikke komme uden om det?
roenving >> Har du et andet forslag? :-)
Vil det altid være sådan, at der er præcis de samme options i de to selects ?-)
Så kan vi lave den ret fint sådan: <script type="text/javascript"> var vals = new Array(); function makeSelect(sel,s2){ if(vals.length==0)for(i=0;sel.length>i;i++){ vals[i] = new Object(); vals[i].text = sel.options[i].text; vals[i].value = sel.options[i].value; } var f = sel.form; var sel2 = f.elements[s2],idx=sel2.options[sel2.selectedIndex].value,newOpt; sel2.length = 0; for(i=sel.selectedIndex;sel.length>i;i++){ newOpt = document.createElement('OPTION'); sel2.appendChild(newOpt); newOpt.text = vals[i].text; newOpt.value = vals[i].value; newOpt.selected = (idx==vals[i].value); } } </script> <form> <select name="alder1" onchange="makeSelect(this,'alder2');"> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> <select name="alder2"> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> </select> </form>
Kanon, det virker som det skal :-) Tak for det! Ligger du et svar?
Vi tilbyder markedets bedste kurser inden for webudvikling