Foros del Web » Programando para Internet » ASP Clásico »

Una ayuda sobre listas...no FAQ's

Estas en el tema de Una ayuda sobre listas...no FAQ's en el foro de ASP Clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/05/2006, 07:17
Avatar de aurelitus  
Fecha de Ingreso: marzo-2006
Mensajes: 59
Antigüedad: 19 años, 2 meses
Puntos: 0
Pregunta Una ayuda sobre listas...no FAQ's

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á
  #2 (permalink)  
Antiguo 17/05/2006, 09:44
Avatar de sjam7  
Fecha de Ingreso: diciembre-2001
Ubicación: Guadalajara, Mexico
Mensajes: 3.672
Antigüedad: 23 años, 4 meses
Puntos: 16
toma los valores de cada select y en los options pon algo asi:

<option value="valor" <%if request("oficina")="valor" then response.write "selected=selected"%>>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.