Hola Amigos ya revise en las FAQ's y mi pregunta no ha sido claramente contestada.
tengo dos listas (sucursales y oficinas) una depende de la otra, y me funcionana bien, pero no quedan con los valores seleccionados, es decir, el usuario efectua su seleccion de la lista 1 y lista 2 y se genera la pagina perfecto, pero las listas vuelven a su estado inicial. necesito que queden mostrando los valores seleccionados.
este es el codigo por si alguien me quiere echar una manito.
'inicio la lista desplegable
<SELECT NAME="SUCURSALES" SIZE="1"
OnChange="ComponerLista (document.forms.Listas.SUCURSALES[selectedIndex].value);">
<%
'abro las conexiones y los recordsets
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
set rs1=Server.CreateObject("ADODB.Recordset")
set oConnLOG=Server.CreateObject("ADODB.Connection")
set rslog=Server.CreateObject("ADODB.Recordset")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("basededatos.mdb")
SQL="contiene la seleccion de la tabla de sucursales"
rs.Open SQL, oConn
cuenta=1
%>
<OPTION >Seleccione una Sucursal...</option>
<%
'aqui yo presento sucursales - xsuc es la variable que guarda el valor de la 'sucursal elegida
while not rs.EOF
%>
<OPTION VALUE="<%=rs.Fields("SUC")%>"
<% if rs.Fields("SUC")= XSUC then%>
SELECTED
<%end if%>><FONT SIZE=1>
<%=rs.Fields("DESCSUC")%></FONT></OPTION>
<%
rs.MoveNext
cuenta=cuenta+1
wend
rs.Close
%>
</SELECT>
'inicio la lista de oficinas que dependen de las sucursales
<B>OFICINAS</B>
<br>
<SELECT NAME="OFICINAS" SIZE="1">
</SELECT>
<B></B>
<tr>
<td>
<tr>
<td>
<INPUT TYPE="submit" value="Consultar"></FORM>
'este script me llena la segunda lista dependiendo del valor de la sucursal 'seleccionada anteriormente. alguna vez lo copie de las FAQ's creo...
<SCRIPT LANGUAGE="Javascript">
<!--
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}
<%
'ARREGLO PARA LISTA DE SUCURSALES
'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 DISTINCT LOCALIDADES.[Codigo Oficina Comercial] AS SUC, LOCALIDADES.[Descripcion Oficina Comercial] AS DESCSUC, LOCALIDADES.[Codigo Agencia] AS OFI, LOCALIDADES.DescABRV AS DESCOFI FROM METAS LEFT JOIN LOCALIDADES ON METAS.LOCALIDAD = LOCALIDADES.[Codigo Agencia] ORDER BY LOCALIDADES.[Codigo Oficina Comercial]"
rs.Open SQL, oConn
cuenta=0
contador="basura"
while not rs.EOF
if contador<>rs.Fields("SUC") then
' cambio de categoria, empiezo a contar en 0
cuenta=0
contador=rs.Fields("SUC")
'además tengo que crear un nuevo array para la categoría
%>
var opciones<%=contador%> = new Array();
<%
end if
%>
opciones<%=contador%>[<%=cuenta%>]=new Tupla("<%=rs.Fields("DESCOFI")%>","<%=rs.Fields("O FI")%>");
<%
cuenta=cuenta+1
rs.MoveNext
wend
%>
<%
'Limpiamos objetos
rs.Close
set rs=nothing
set rs1=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.OFICINAS.options[contador] = optionObj;
} // for
} // ComponerLista
function BorrarLista() {
Listas.OFICINAS.length=0;
}
//Inicializamos
ComponerLista (1);
Como les decia, si el usuario elige la sucursal Bogotá y la oficina Bogotá, la consulta se genera perfecta, pero las listas quedan nuevamente en blanco, es decir no queda en la lista 1 Bogotá y en la lista 2 Bogotá