Pregunta: | 6215 - COMBOS DINAMICOS |
Autor: | jaime caballero |
Mi problema es que debo crear 3 combos y en función de lo que elija en el 1º, me debe aparecer en el 2º combo una cosa u otra en función de la 1ª eleccion.Lo mismo entre el 2º y 3º combo. Si alguien conoce el código agradecería me lo remitiesen.Gracias |
Respuesta: | felipe kamikazi |
<HTML>
<HEAD> <TITLE>Listas dependientes</TITLE> </HEAD> <BODY> <!-- Listas dependientes ---> <H2><CENTER>Listas dinámicas dependientes</CENTER></H2> <P><B>Elige una categoría para ver los productos pertenecientes a ella:</B> <P> <FORM NAME="Listas" METHOD="POST" ACTION="receive.asp"> <B>Categorías</B> <SELECT NAME="Categorias" SIZE="1" OnChange="ComponerLista (document.forms.Listas.Categorias[selectedIndex].value);"> <% Dim oConn, rs, SQL, cuenta, categoria set oConn=Server.CreateObject("ADODB.Connection") set rs=Server.CreateObject("ADODB.Recordset") oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("ejemplo.mdb") SQL="SELECT * FROM Categorias" rs.Open SQL, oConn cuenta=1 while not rs.EOF %> <OPTION VALUE="<%=rs.Fields("IdCategoria")%>" <% if cuenta=1 then%> SELECTED <%end if%>> <%=rs.Fields("NomCategoria")%></OPTION> <% rs.MoveNext cuenta=cuenta+1 wend rs.Close %> </SELECT> <P><B>Productos</B> <SELECT NAME="Productos" SIZE="1"> </SELECT> <P><INPUT TYPE="submit"></FORM> <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 SQL="SELECT * FROM Productos ORDER BY Categoria, IdProducto" rs.Open SQL, oConn cuenta=0 cat="basura" while not rs.EOF if cat<>rs.Fields("Categoria") then ' cambio de categoria, empiezo a contar en 0 cuenta=0 cat=rs.Fields("Categoria") '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("Nombre")%>","<%=rs.Fields("IdProducto")%>"); <% cuenta=cuenta+1 rs.MoveNext wend %> <% 'Limpiamos objetos rs.Close set rs=nothing oConn.Close set oConn=nothing %> 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 ); Listas.Productos.options[contador] = optionObj; } // for } // ComponerLista function BorrarLista() { Listas.Productos.length=0; } //Inicializamos ComponerLista (1); --> </SCRIPT> <br> </FORM> </BODY> </HTML> mira la que puedo ayudar esta es lista dependientes con dos combos de algo te puede ayudar copialo tal cual las tablas son Categorias ( Idcategoria , NomCategoria) Productos (IdProducto, Categoria, Nombre) funciona el unico de todos los que encontre que funciona |
Respuesta: | Alvaro Ortiz |
visita la siguiente página... ahi viene un ejemplo de lo que necesitas..
www.wsabstract.com es codigo de JScript.. si se puede hacer, a partir de ese ejemplo lo puedes hacer.. de cualquier forma si necesitas ayuda escribeme saludos |