Vereis, tengo un formulario compuesto tal que asi:
Código:
<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>
Y luego, tengo la funcion para componer los arrays, y que el campo de abajo cambie en funcion del de arriba, tal que asi:
Código:
<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>
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.
Espero haberme explicado medianamente bien... Gracias"