| |||
Re: necesito direccion de combos enlazados con asp holas tengo un combo que lo lleno de la base de datos, necesito que me despliegue los valores en el segundo dependiendo de lo seleccionado en el primero(con asp , sin arreglos) |
| ||||
Re: necesito direccion de combos enlazados con asp eso implica refresca tu pagina cada vez que seleccione desde el combo1... uuff...me tengo ke ir urgente...demas que alguin te dice como empezar...buenos samaritanos abundan aki..cierto amigos? ![]() |
| ||||
Cita: ---------------
Iniciado por yoyi2002 holas tengo un combo que lo lleno de la base de datos, necesito que me despliegue los valores en el segundo dependiendo de lo seleccionado en el primero(con asp , sin arreglos) carga manualmente las opciones del select o con un while de tu result set, incrementalo en uno, tengo una funcion, que puede solucionar el llenano var sElemento ="" Response.Write("<select name='"+NombreCombo+"' "+ Eventos +" >") if (Todos != "") { sElemento = "<option value='-1'" if (Seleccionado == -1) { sElemento += " selected " } sElemento += ">"+Todos+"</option>" Response.Write(sElemento) } var CCSQL = "SELECT " + CampoID +", " + CampoDescripcion + " FROM " + Tabla if (Condicion != "") { CCSQL += " WHERE " + Condicion } if (Orden != "") { CCSQL += " ORDER BY " + Orden } Response.Write("<br>CCSQL: " + CCSQL) var rsCC = AbreTabla(CCSQL,1,Conexion) while (!rsCC.EOF){ sElemento = "<option value='"+rsCC.Fields.Item(0).Value+"'" if (Seleccionado == rsCC.Fields.Item(0).Value) { sElemento += " selected " } sElemento += ">"+rsCC.Fields.Item(1).Value+"</option>" Response.Write(sElemento) rsCC.MoveNext()} rsCC.Close() Response.Write("</select>") ahora, una vez que tu llenaste tu combo, en el evento onchange ejecuta un javascript que te haga un submit y com parametro mandas el nombre del combo que estas cambiando, y cuando la pagina (haciendo el submit sobre ella misma) se recargue, condiciona tu segundo combo, el parametro tiene tal valor, entonces, que haga un select,(el que tu decidas) y listo, ahora tienes un combo que depende de otro, si quieres otro ejemplo mas claro, responde a [email protected] |
| ||||
Cita: ---------------
Iniciado por yoyi2002 holas tengo un combo que lo lleno de la base de datos, necesito que me despliegue los valores en el segundo dependiendo de lo seleccionado en el primero(con asp , sin arreglos) carga manualmente las opciones del select o con un while de tu result set, incrementalo en uno, tengo una funcion, que puede solucionar el llenano var sElemento ="" Response.Write("<select name='"+NombreCombo+"' "+ Eventos +" >") if (Todos != "") { sElemento = "<option value='-1'" if (Seleccionado == -1) { sElemento += " selected " } sElemento += ">"+Todos+"</option>" Response.Write(sElemento) } var CCSQL = "SELECT " + CampoID +", " + CampoDescripcion + " FROM " + Tabla if (Condicion != "") { CCSQL += " WHERE " + Condicion } if (Orden != "") { CCSQL += " ORDER BY " + Orden } Response.Write("<br>CCSQL: " + CCSQL) var rsCC = AbreTabla(CCSQL,1,Conexion) while (!rsCC.EOF){ sElemento = "<option value='"+rsCC.Fields.Item(0).Value+"'" if (Seleccionado == rsCC.Fields.Item(0).Value) { sElemento += " selected " } sElemento += ">"+rsCC.Fields.Item(1).Value+"</option>" Response.Write(sElemento) rsCC.MoveNext()} rsCC.Close() Response.Write("</select>") ahora, una vez que tu llenaste tu combo, en el evento onchange ejecuta un javascript que te haga un submit y com parametro mandas el nombre del combo que estas cambiando, y cuando la pagina (haciendo el submit sobre ella misma) se recargue, condiciona tu segundo combo, el parametro tiene tal valor, entonces, que haga un select,(el que tu decidas) y listo, ahora tienes un combo que depende de otro, si quieres otro ejemplo mas claro, responde a [email protected] |
| |||
Mira este codigo es de lexus originalmente en este foro, espero que te sirva Cita:
Iniciado por lexus http://www.asptutor.com/asp/vart.asp?id=102
Código:
<html> <head> <title>Combos combinados</title> <script language = "JavaScript"> <%'CONSULTA PARA OBTENER LOS DATOS Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\database\hard.mdb")) productos_Sql = "Select distinct familia, codigo, denominacion from articulos " set rs = CreateObject("ADODB.Recordset") rs.Open productos_Sql, Conn x=0 %> // FUNCION DE COMBO BOX COMBINADO function sublist(inform, selecteditem) { inform.subcatagory.length = 0 <% count= 0 y=0 do while not rs.eof %> x = <%= trim(y) %>; subcat = new Array(); subcatagorys = "<%=(rs("codigo"))&" "&(rs("denominacion")) %>"; subcatagoryof = "<%=(rs("familia"))%>"; subcatagoryid = "<%=(rs("codigo"))%>"; subcat[x,0] = subcatagorys; subcat[x,1] = subcatagoryof; subcat[x,2] = subcatagoryid; if (subcat[x,1] == selecteditem) { var option<%= trim(count) %> = new Option(subcat[x,0], subcat[x,2]); inform.subcatagory.options[inform.subcatagory.length]=option<%= trim(count)%>; } <% count = count + 1 y = y + 1 rs.movenext loop rs.close %> } </script> </head> <body bgcolor="#CDB1B7"> <h2 align="center"><b><i><font color="#AE1732"><u>Combo-box enlazados </u></font></i></b></h2> <form name="prueba"> <div align="center"> <center> <table border="0" width="80%"> <tr> <td width="77%"> <select size="1" id="familia" name="familia" onChange = "javascript:sublist(this.form, familia.value);"> <option selected>Selecciona una familia</option> <%familias_Sql = "Select distinct id,familia from familias" rs.Open familias_Sql, Conn do while not rs.eof %> <option value="<%=rs("id")%>"><%=rs("familia")%></option> <%rs.movenext loop set rs=nothing conn.close set conn=nothing%> </select> <SELECT id="subcatagory" name="subcatagory" size="1"> <Option selected value="none"></option> </SELECT></td> <td width="9%"> <p align="left"> </p> </td> </tr> </table> </center> </div> <center> </form> </center> </body> </html>
__________________ JOSE GARCIA :-) :arriba: |
| |||
Al colocar la sgte. función en mi página asp. no lo puedo visualizar en el navegador de internet explorer. pero si quito la función si puedo ver mi página. alguien sabe porqué ocurre eso?? function sublist(inform, selecteditem) { inform.subcatagory.length = 0 <% count= 0 y=0 do while not rs.eof %> x = <%= trim(y) %>; subcat = new Array(); subcatagorys = "<%=(rs("codigo"))&" "&(rs("denominacion")) %>"; subcatagoryof = "<%=(rs("familia"))%>"; subcatagoryid = "<%=(rs("codigo"))%>"; subcat[x,0] = subcatagorys; subcat[x,1] = subcatagoryof; subcat[x,2] = subcatagoryid; if (subcat[x,1] == selecteditem) { var option<%= trim(count) %> = new Option(subcat[x,0], subcat[x,2]); inform.subcatagory.options[inform.subcatagory.length]=option<%= trim(count)%>; } <% count = count + 1 y = y + 1 rs.movenext loop rs.close %> } |