
18/02/2005, 04:50
|
| | Fecha de Ingreso: febrero-2005 Ubicación: Santiago de Chile
Mensajes: 5
Antigüedad: 20 años, 2 meses Puntos: 0 | |
Hola sandrt..
Yo tengo un código sencillo que realiza esta ación y lo hace en forma muy efectiva.... se los dejo a todos quienes puedan necesitarlo:
<%
'---------------------- COMIENZO --------------------------------
Dim oConn, rs, SQL
set rs = Server.CreateObject("ADODB.Recordset")
oConn = "driver={SQL Server};server=Servidor;database=Base"
'Conexion
%>
<HTML>
<HEAD>
<TITLE>Listas</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<STYLE type=text/css>
.pequena
{
FONT-SIZE: 10px;
FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif;
color: #000000;
}
</STYLE>
</HEAD>
<BODY bgColor=#ffffff leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<form action="Get_Titular.asp" method="post" name="formulario">
<TABLE class=pequena cellSpacing=0 cellPadding=0 width="253" align=center border=0 font>
<TR>
<TD colspan="2">Región:</TD>
</TR>
<TR>
<TD colspan="2"><select name="Regiones" size="1" class="pequena" onChange="ComponerLista (document.forms.formulario.Regiones[selectedIndex].value);">
<%
SQL="SELECT id_region, descripcion FROM NSB_Regiones order by id_region"
rs.Open SQL, oConn
while not rs.EOF
%>
<option value="<%=rs.Fields("id_region")%>"><%=rs.Fields(" descripcion")%></option>
<%
rs.MoveNext
wend
rs.Close
%>
</select>
</TD>
</TR>
<TR>
<TD width="40%" class="pequena">Comuna:</TD>
</TR>
<TR>
<TD colspan="2">
<select name="Comunas" size="1" class="pequena">
</select>
</TD>
</TR>
<TR>
<TD colspan="2" class="pequena"> </TD>
</TR>
</TABLE>
</form>
</BODY>
</HTML>
<script language="Javascript">
<!--
/* FUNCIONA CREA ARREGLO CON COMUNAS */
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}
<%
SQL="SELECT * FROM NSB_comunas order by id_region, descripcion"
rs.Open SQL, oConn
cuenta=0
cat="basura"
while not rs.EOF
if Cstr(cat) <> Cstr(rs.Fields("id_region")) then
' cambio de categoria, empiezo a contar en 0'
cuenta=0
cat=rs.Fields("id_region")
%>
var opciones<%=cat%> = new Array();
<%
end if
%>
opciones<%=cat%>[<%=cuenta%>]=new Tupla("<%=rs.Fields("Descripcion")%>","<%=rs.Field s("id_comuna")%>");
<%
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 );
formulario.Comunas.options[contador] = optionObj;
} // for
} // ComponerLista
function BorrarLista() {
formulario.Comunas.length=0;
}
//Inicializamos
ComponerLista (0);
-->
</script>
<%
'-------------------------------- FIN --------------------------------
%>
Bueno.. sólo les queda cambiar los parámetros de la BDD y de los campos que requieran... espero les ayude.... :) |