El código ke tengo es este:
Código:
Me carga los datos desde la base de datos en el 1º select, lo ke no me hace es cargarmelos en el segundo despues de seleccionar en el 1º<form action="" name="form1"> <select name="select" class="normalform" onChange = "ComponerLista(document.forms.form1.select[selectedIndex].value);"> <option>Especialidades</option> <% dim con,rs,sql,cuenta,cat Set db = Server.CreateObject("ADODB.Connection") Set rs = Server.CreateObject("ADODB.Recordset") con="DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/riojavina/bbddRiojavina.mdb") db.open con set rs=db.execute("Select distinct NomVariedad From Productos") do while not rs.EOF Response.Write "<option Value='" & rs.fields("NomVariedad") & "'>" & rs.fields("NomVariedad") & "</option>" rs.MoveNext Loop rs.Close() rs=null db.Close() %> </select> <p> <select name="menu1" class="normalform" onChange="MM_jumpMenu('parent',this,1)"> <option selected>Productos </option> </select> <SCRIPT LANGUAGE="Javascript"> <!-- function Tupla ( campo1, campo2 ) { this.campo1 = campo1; this.campo2 = campo2; } <% 'Vamos a crear nuestros arrays de productos desde ASP 'El primer if detecta un cambio en la categoría para 'crear un nuevo array en Javascript db.open con set rs=db.execute("SELECT * FROM Productos ORDER BY NomProducto") cuenta=0 cat="basura" do while not rs.EOF if cat<>rs.Fields("NomVariedad") then 'cambio de categoria, empiezo a contar en 0 cuenta=0 cat=rs.Fields("NomVariedad") 'además tengo que crear un nuevo array para la categoría %> var opciones<%=cat%> = new Array(); <% end if %> opciones<%=cat%>[<%=cuenta%>]=new Tupla("<%=rs.Fields("NomProducto")%>","<%=rs.Fields("EAN")%>"); <% cuenta=cuenta+1 rs.MoveNext Loop %> <% 'Limpiamos objetos rs.Close() rs=null db.Close() %> var contador; function ComponerLista (array) { // Compone la lista dependiente a partir // del valor de la opcion escogida en la lista "padre" BorrarLista(); array = eval("opciones" + array); for (contador=0; contador<array.length; contador++) { // añade elementos nuestro combobox var optionObj = new Option( array[contador].campo1, array[contador].campo2 ); form1.menu1.options[contador] = optionObj; } // for } // ComponerLista function BorrarLista() { form1.menu1.length=0; } //Inicializamos ComponerLista (1); --> </SCRIPT> </p></form>
Muxas gracias