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
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
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