Código:
Y luego, tengo la funcion para componer los arrays, y que el campo de abajo cambie en funcion del de arriba, tal que asi:<font class="NORMAL"> <FORM NAME="Listas" METHOD="POST" ACTION="control_secciones.asp?acc=ModSecc&step=1"> <SELECT class="FORMGRIS" name=Juegos OnChange="ComponerLista (document.forms.Listas.Juegos[selectedIndex].value);"> <% strSQLCogerGame = "SELECT JUEGO, ID_JUEGO, LINK FROM GAMES_GAMES ORDER BY ID ASC" Set MyRecordset = MyConn.Execute(strSQLCogerGame) cuenta = 1 Do while not MyRecordset.EOF %> <font class="NORMAL"> <OPTION class="FORMGRIS" value="<%=MyRecordset("ID_JUEGO")%>" <% if cuenta = 1 Then %>SELECTED <% end if %>><%=MyRecordset("JUEGO")%></OPTION> </font> <% MyRecordset.MoveNext cuenta = cuenta + 1 Loop MyRecordset.Close %> </Select> </font> <br> <font class="NORMAL"> <SELECT id=SeccJuego class="FORMGRIS" name=SeccJuego> </Select> </font> <% set oConn=Server.CreateObject("ADODB.Connection") set rs=Server.CreateObject("ADODB.Recordset") oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("****.mdb") %> <P><font class="NORMAL"><INPUT TYPE="submit" class="FORMGRIS"></FONT></FORM>
Código:
Vereis, quiero que la sentenica SQL seleccione el ID_JUEGO, y me gustaria que adoptase el valor del campo seleccionado. O si no, que me seleccionase de la base de datos todos los campos, en orden, que tengan el valor de el Value del texto.<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 LINK_SECC, SECCION, ID_JUEGO, ID_SECCION FROM GAMES_SECC WHERE ID_JUEGO=" & document.forms.Listas.Juegos[selectedIndex].value & " ORDER BY ID_SECCION, ID_JUEGO" rs.Open SQL, oConn cuenta=0 cat= "basura" while not rs.EOF if cat <> rs.Fields("ID_JUEGO") then ' cambio de categoria, empiezo a contar en 0 cuenta=0 cat=rs.Fields("ID_JUEGO") '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("SECCION")%>", "<%=rs.Fields("ID_SECCION")%>"); <% 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.SeccJuego.options[contador] = optionObj; } // for } // ComponerLista function BorrarLista() { Listas.SeccJuego.length=0; } //Inicializamos ComponerLista (1); --> </SCRIPT>
Espero haberme explicado medianamente bien... Gracias"