13. april 2004 - 15:14
Der er
9 kommentarer og 1 løsning
Jeg skal bruge en dynamisk side, hvor dropdown box er dynamisk
Hej, jeg har koden: <table> <tr><select> <option>- <option>1 <option>2 <option>3 </select> </tr> </table> Vælges 1-3, skal der laves en ny dropdownboks lige under, altså noget i stil med: <table> <tr><select> <option>- <option>1 <option>2 <option>3 </select></tr> <tr><select> <option>- <option>1 <option>2 <option>3 </select> </tr> </table> Værdierne kommer fra et mysql-udtræk, men det skal jeg nok finde ud af!
Annonceindlæg fra Pax8
13. april 2004 - 15:14
#1
Og siden skal jo være så dynamisk, så vælger jeg 1-3 100 gange, så har jeg 101 dropdown-bokse!
13. april 2004 - 16:29
#2
Jeg har forsøgt med følgende: <html> <head> <script type="text/javascript"> var ns4 = (document.layers); var ie4 = (document.all && !document.getElementById); var ie5 = (document.all && document.getElementById); var ns6 = (!document.all && document.getElementById); var count = 0; function createSelect() { // Netscape 4 if(ns4) { count++; document.layers['maal'].document.close(); document.layers['maal'].document.write("Test"); document.layers['maal'].document.close(); } // Explorer 4 else if(ie4) { count++; document.all['maal'].innerHTML = document.all['maal'].innerHTML + "<tr><td><select name='"+count+"'><option>Jakob<option>Morten</select></td></tr><br>"; } // W3C - Explorer 5+ and Netscape 6+ else if(ie5 || ns6) { count++; document.getElementById('maal').innerHTML = document.getElementById('maal').innerHTML + "<tr><td><select name='"+count+"'><option>Jakob<option>Morten</select></td></tr><br>"; } } </script> </head> <body> <table> <form> <a href="#" onclick="createSelect()">Opret målscorer</a> <div id="maal"> </div> <input type="submit" name="opdaterscorer" value="Opdater Scorer"> </form> </table> </body> </html> Men det virker ikke optimalt! (ihf ikke i Mozilla og Opera)
13. april 2004 - 20:50
#3
Jeg ville gå hele vejen (og nøjes med at checke, om browserne var dom-kompatible !-) var ns4 ... var ie4 ... var dom = (document.getElementById)?true:false; if(dom){ var newOpt; var tbody = document.getElementById('minTbody'); var newTr = document.createElement('TR'); tbody.appendChild(newTr); var newTd = document.createElement('TD'); newTr.appendChild(newTd); var newSel = document.createElement('SELECT'); newTd.appendChild(newSel); newSel.name = 'sel' + count; var opts = ['Karl','Jakob','Morten']; for(i=0;opts.length>i;i++){ newOpt = document.createElement('OPTION'); newSel.appendChild(newOpt); newOpt.text = newOpt.value = opts[i]; } }
13. april 2004 - 20:54
#4
-- og bemærk, at jeg henviser til tbody, for en sådan findes selv om du ikke opretter den, og ie kan ikke udføre tabel-operationer som tilføj række uden at den tilføjes til tbody, så skriv den ind i din kode: <table><tbody id="minTbody"> ... </tbody></table> Gecko-browserne kan godt gennemskue den sag, men det nægter ie (vel egentlig meget rimeligt !-)
13. april 2004 - 21:11
#5
Jeg forstår ikke helt din kode? F.eks.: var ns4 ... var ie4 ... Skal der ikke laves en javascript funktion? Og hvad skal der være her:<table><tbody id="minTbody"> ... </tbody></table> Istedet for ...? Skal jeg genbruge det meste af mit eget?
13. april 2004 - 21:18
#6
Ellipserne står for, at du ikke skal lave noget anderledes !-) Så ja, du skal genbruge det meste af dit eget ...
13. april 2004 - 21:29
#7
Ups, en ellipse er det engelsk/amerikanske navn for det tegn, som skrives med 3 punktummer !-)
14. april 2004 - 09:34
#8
Top nice! Fik det til at du! Smider du et svar? :o)
14. april 2004 - 22:54
#9
Velbekomme '-)
16. april 2004 - 17:46
#10
-- og tak for points ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling