Ho bisogno di fare 3 select dinamiche prendendo i dati da un database.
Ho trovato questo script:
Ho cercato di modificarlo:codice:<FORM name="form"> <table border="0" cellspacing="0" cellpadding="0"> <tr align="center"> <td nowrap height="11"> <select name="ambiente" size="1" onChange="redirect(this.options.selectedIndex)"> <option selected>---Select1-------------</option> <option>Webmaster Sites</option> <option>News Sites</option> </select> <select name="funzioni" size="1" onChange="redirect1(this.options.selectedIndex)"> <option value=" " selected> </option> <option value=" " selected>---Select2--------------</option> <option value=" " selected>---Select2--------------</option> </select> <select name="comandi" size="1" onChange="redirect2(this.options.selectedIndex)"> <option value=" " selected> </option> <option value=" " selected>---Select3----------------</option> <option value=" " selected>---Select3----------------</option> </select> <script> <!-- var groups=document.form.ambiente.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array() group[0][0]=new Option("---Select2---"," "); group[1][0]=new Option("Now Select This One"," "); group[1][1]=new Option("JavaScript","47"); group[1][2]=new Option("DHTML","46"); group[1][3]=new Option("CGI","45"); group[2][0]=new Option("Now Select This One"," "); group[2][1]=new Option("General News","115"); group[2][2]=new Option("Technology News","116"); var temp=document.form.funzioni function redirect(x){ for (m=temp.options.length-1;m>0;m--) temp.options[m]=null for (i=0;i<group[x].length;i++){ temp.options[i]=new Option(group[x][i].text,group[x][i].value) } temp.options[0].selected=true redirect1(0) } var secondGroups=document.form.funzioni.options.length var secondGroup=new Array(groups) for (i=0; i<groups; i++) { secondGroup[i]=new Array(group[i].length) for (j=0; j<group[i].length; j++) { secondGroup[i][j]=new Array() }} secondGroup[0][0][0]=new Option("---Select 3---"," "); secondGroup[1][0][0]=new Option("---Select 3---"," "); secondGroup[1][1][0]=new Option("Now Select This One"," "); secondGroup[1][1][1]=new Option("JavaScript Kit","http://javascriptkit.com"); secondGroup[1][1][2]=new Option("JavaScript for the non programmer","http://webteacher.com/javascript/"); secondGroup[1][1][3]=new Option("Java-Scripts.net","http://java-scripts.net"); secondGroup[1][2][0]=new Option("Now Select This One"," "); secondGroup[1][2][1]=new Option("Dynamic Drive","http://www.dynamicdrive.com"); secondGroup[1][2][2]=new Option("Beginner\'s Guide to DHTML","http://www.geocities.com/ResearchTriangle/Facility/4490/"); secondGroup[1][2][3]=new Option("Web Coder","http://webcoder.com/"); secondGroup[1][3][0]=new Option("Now Select This One"," "); secondGroup[1][3][1]=new Option("CGI Resources","http://www.cgi-resources.com"); secondGroup[1][3][2]=new Option("Ada\'s Intro to CGI","http://adashimar.hypermart.net/"); secondGroup[2][0][0]=new Option("---Select 3---"," "); secondGroup[2][1][0]=new Option("Now Select This One"," "); secondGroup[2][1][1]=new Option("CNN","http://www.cnn.com"); secondGroup[2][1][2]=new Option("MSNBC","http://www.msnbc.com"); secondGroup[2][1][3]=new Option("ABC News","http://www.abcnews.com"); secondGroup[2][2][0]=new Option("Now Select A Page"," "); secondGroup[2][2][1]=new Option("News.com","http://www.news.com"); secondGroup[2][2][2]=new Option("Wired","http://www.wired.com"); var temp1=document.form.comandi function redirect1(y){ for (m=temp1.options.length-1;m>0;m--) temp1.options[m]=null for (i=0;i<secondGroup[document.form.ambiente.options.selectedIndex][y].length;i++){ temp1.options[i]=new Option(secondGroup[document.form.ambiente.options.selectedIndex][y][i].text,secondGroup[document.form.ambiente.options.selectedIndex][y][i].value) } temp1.options[0].selected=true } function redirect2(z){ window.location=temp1[z].value } //--> </script> </td> </tr> </table> </FORM>
Ho provato solo con la prima parte, ma mi sono accorto che "k" non viene sostituita con i valori 0,1,2,...codice:<%@ language = vbscript%> <FORM name="form"> <table border="0" cellspacing="0" cellpadding="0"> <tr align="center"> <td nowrap height="11"> <% sql="select distinct ambiente from [comandi]" set rs=con.execute(sql) %> <select name="ambiente" size="1" onChange="redirect(this.options.selectedIndex)"> <option selected>---Select1-------------</option> <%do while not rs.eof%> <option><%=rs("ambiente")%></option> <%rs.movenext loop %> </select> <select name="funzioni" size="1" onChange="redirect1(this.options.selectedIndex)"> <option value=" " selected> </option> <option value=" " selected>---Select2--------------</option> <option value=" " selected>---Select2--------------</option> </select> <select name="comandi" size="1" onChange="redirect2(this.options.selectedIndex)"> <option value=" " selected> </option> <option value=" " selected>---Select3----------------</option> <option value=" " selected>---Select3----------------</option> </select> <script> <!-- var groups=document.form.ambiente.options.length var group=new Array(groups) for (i=0; i<groups; i++) group[i]=new Array() group[0][0]=new Option("---Select2---"," "); <% sql2="select * from [comandi]" set rs2=con.execute(sql2) %> for (k=0; k<5; k++) group[1][k]=new Option("<%=rs2("funzione")%>"," "); group[2][k]=new Option("<%=rs2("comando")%>"," "); var temp=document.form.funzioni function redirect(x){ for (m=temp.options.length-1;m>0;m--) temp.options[m]=null for (i=0;i<group[x].length;i++){ temp.options[i]=new Option(group[x][i].text,group[x][i].value) } temp.options[0].selected=true redirect1(0) } var secondGroups=document.form.funzioni.options.length var secondGroup=new Array(groups) for (i=0; i<groups; i++) { secondGroup[i]=new Array(group[i].length) for (j=0; j<group[i].length; j++) { secondGroup[i][j]=new Array() }} secondGroup[0][0][0]=new Option("---Select 3---"," "); var temp1=document.form.comandi function redirect1(y){ for (m=temp1.options.length-1;m>0;m--) temp1.options[m]=null for (i=0;i<secondGroup[document.form.ambiente.options.selectedIndex][y].length;i++){ temp1.options[i]=new Option(secondGroup[document.form.ambiente.options.selectedIndex][y][i].text,secondGroup[document.form.ambiente.options.selectedIndex][y][i].value) } temp1.options[0].selected=true } function redirect2(z){ window.location=temp1[z].value } //--> </script> </td> </tr> </table> </FORM>
Cosa ho sbagliato? C'è un modo + semplice?
Grazie
Alessandro

Rispondi quotando