24. januar 2005 - 21:27Der er
25 kommentarer og 2 løsninger
En dropdown ændrer input i mange tekstfelter
Hvordan kan man gøre sådan at man ved en drodown <select> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select>
Kan ændrer value i en hulens masse efterfølgende inputfelter.
-Altså hvis man vælger 1, så bliver inputfelternes værdi ændret til 1
Flere kommuner går nu i gang med at bruge AI-understøttet dokumentation. Målet er, at sagsbehandlere skal bruge mindre tid på referater og registrering – og mere tid på nærvær i mødet med borgeren.
roenvig. den holder ikke helt, da jeg skal bruge det i et loop. Her er min kode:
<% do while not rs.eof %> <input type="hidden" name="id" value="<%=rs("id")%>"> <p class="format"> <select name="select1" id="input1"> <% do while not rsSize.eof %> <option value="<%=rsSize("size")%>"></option> <% rsSize.movenext loop %> </select> </p> <p><input type="text" name="select2" id="input2" value="<% =rs("antal") %>" size="2"></p> <p class="format"> <select name="select3" id="input3"> <% do while not rsQual.eof %> <option value="<%=rsQual("Qual")%>"></option> <% rsQual.movenext loop %> </select> </p> <% rs.movenext loop %>
Der kan så være 1 eller op til 100 records under hinanden, hvor jeg så gerne vil kunne ændre: -hver enkelt "Selcet1" record med en overordnet drop down -hver enkelt "select2" record med en overordnet drop down -hver enkelt "Selcet3" record med en overordnet drop down
De overordnede dropdowns får naturligvis samme options :o)
I ovenstående udnytter jeg at alle inputs navne starter med 'input' og select-boksene starter med 'selInput', på den måde kan jeg benytte mig af den collection, som et forms elementer er ...
En anden måde at gøre det på, er at skabe et array af names eller id'er, som der så slås op i !-)
roenvig: Jeg har nu forsøgt helt forfra. Og jeg kan (næsten) få dit script til at virke. Og det er vist kun p.g.a. indholdet i de 2 select-bokse af de ikke ændrer sig simultant. Men mit <input type=text> modtager værdien, uanset hvilken select jeg ændrer på..
okay - har fået det til at virke med en kombo af ovenstående.. Men er der "bivirkninger" ved dette ?
kode:
<script type="text/javascript"> function update(sel) { var e = sel.form.elements; for(i=0;i<e.length;i++){ if(e[i].type=='text'&&e[i].name.indexOf('input')==0) e[i].value = sel.value; else if(e[i].type.indexOf('select')==0&&e[i].name.indexOf('selInput')==0){ for(j=0;j<e[i].length;j++){ if(e[i].options[j].value == sel.value){ e[i].options[j].selected = true; break; } } } } } </script> <script type="text/javascript"> function updateAntal(ctlName) { var inputs = document.getElementsByTagName('INPUT'); var selValue = document.getElementById('selectAntal').value; for(var i = 0; i < inputs.length; i++) if(inputs[i].id == ctlName) inputs[i].value = selValue; } </script> <form> input:<br> størrelse<select id="select1" onchange="update(this);"> <option value='10 x 13.5 cm (4:3)'>10 x 13,5 cm (4:3)</option> <option value='10 x 15 cm (3:2)'>10 x 15 cm (3:2)</option> <option value='13 x 17.4 cm (4:3)'>13 x 17,4 cm (4:3)</option> <option value='13 x 18 cm (3:2)'>13 x 18 cm (3:2)</option> <option value='15 x 21 cm'>15 x 21 cm</option> <option value='20 x 30 cm'>20 x 30 cm</option> </select> antal<select id="selectAntal" onchange="updateAntal('inputAntal');"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> </select> kvalitet<select id="select3" onchange="update(this);"> <option value="almindelig">almindelig</option> <option value="super">super</option> </select>
<br><br>
Resultat:<br> Størrelse<select id="selinput1" name="selInput1"><br> <option value='10 x 13.5 cm (4:3)'>10 x 13,5 cm (4:3)</option> <option value='10 x 15 cm (3:2)'>10 x 15 cm (3:2)</option> <option value='13 x 17.4 cm (4:3)'>13 x 17,4 cm (4:3)</option> <option value='13 x 18 cm (3:2)'>13 x 18 cm (3:2)</option> <option value='15 x 21 cm'>15 x 21 cm</option> <option value='20 x 30 cm'>20 x 30 cm</option> </select>
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.