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

Cargar combo con datos

Estas en el tema de Cargar combo con datos en el foro de ASP Clásico en Foros del Web. Hoas, mi problema es que quiero cargar un combo con los datos de una base de datos, segun lo que onga en un combo anteror. ...
  #1 (permalink)  
Antiguo 10/03/2003, 17:01
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 23 años, 4 meses
Puntos: 0
Cargar combo con datos

Hoas, mi problema es que quiero cargar un combo con los datos de una base de datos, segun lo que onga en un combo anteror.
Es decir el combo uno escogo un dato, y segun lo que escoga en ese el combo 2 se carga con la informacion de una base de datos.
como pueod hacer eso??!!?!?
Gracias
pd: la base de datos es SQL
  #2 (permalink)  
Antiguo 10/03/2003, 17:30
 
Fecha de Ingreso: enero-2002
Ubicación: Yerba Buena - Tucumán
Mensajes: 259
Antigüedad: 23 años, 3 meses
Puntos: 0
Respuesta

Tenés dos formas de hacerlo ...

1º Todo con ASP (más sencillo) ... pero se tiene q recargar la página

2º Con ASP y JavaScript (mas complicado) ... pero los datos se cambian dinámicamente sin recargar la página.

Te recomiendo que utilices la 2ºopción y de paso practicas q no te va a venir mal. El código para hacerlo lo encontrás en ASPFacil.com en la sección de código. Busca por listas enlazadas o algo similar. Funciona muy bien. Yo llegué a enlazar 3 listas dependientes.

Es una buena práctica.

Saludos :cantar:
  #3 (permalink)  
Antiguo 10/03/2003, 17:33
Avatar de maestro  
Fecha de Ingreso: febrero-2002
Ubicación: España
Mensajes: 2.364
Antigüedad: 23 años, 2 meses
Puntos: 1
http://aspfacil.com/articulos/298003.asp

Tambien busca en las FAQ si necesitas dobles o triples listas dependientes.
__________________
Jose Maria Fernandez
[email protected]
Http://www.expansionweb.net
  #4 (permalink)  
Antiguo 11/03/2003, 13:54
 
Fecha de Ingreso: diciembre-2001
Ubicación: Peru
Mensajes: 376
Antigüedad: 23 años, 4 meses
Puntos: 0
Gracias me sirvio ..pero ahora el problema es que el segundo combo, que si bien trae el dato..solo trae uno nada mas
Es decir solo se llena el primer dato del combo, mas no varios.
que puede ser..les paso el codigo
Gracias

<SELECT NAME="modulos" SIZE="1"
OnChange="ComponerLista (document.forms.Listas.modulos[selectedIndex].value);">

<%
Dim Conex, rs, SQL, cuenta, categoria

set Conex=Server.CreateObject("ADODB.Connection")

set rs=Server.CreateObject("ADODB.Recordset")

Conex.ConnectionString="Provider=SQLOLEDB; Data Source=Data; Initial Catalog=basedatos; User ID=sa;"

Conex.Open

SQL="SELECT * FROM tblSubGrupo"

rs.Open SQL, Conex

cuenta=1

while not rs.EOF

%>
<OPTION VALUE="<%=rs.Fields("CodSubGrupo")%>"
<% if cuenta=1 then%>
SELECTED
<%end if%>>
<%=rs.Fields("NomSubGrupo")%></OPTION>
<%
rs.MoveNext
cuenta=cuenta+1
wend
rs.Close
%>
</SELECT>
</td>
</tr>
<tr>
<td width="50%"><font size="2" face="Verdana" color="#000080"><b>Libro:</b></font>
</td>
<td width="50%">
<SELECT NAME="libros" SIZE="1"></SELECT>
</td>
</tr>
<tr>
<td width="50%" valign="top"><font size="2" face="Verdana" color="#000080"><b>Descripción:</b></font>
</td>
<td width="50%"><textarea rows="7" name="texto" cols="49"></textarea>
</td>
</tr>
</table>

<P align="right"><input type="submit" value="Enviar" name="enviar" onclick="CargarDatos()">
<input type="reset" value="Borrar" name="borrar">


</FORM>

<SCRIPT LANGUAGE="Javascript">
<!--
function Tupla ( campo1, campo2 )
{
this.campo1 = campo1;
this.campo2 = campo2;
}

<%

SQL="SELECT * FROM tblOperacion ORDER BY NomOperacion"

rs.Open SQL, Conex

cuenta=0

cat="basura"

while not rs.EOF

if cat<>rs.Fields("CodSubGrupo") then
' cambio de categoria, empiezo a contar en 0
cuenta=0
cat=rs.Fields("CodSubGrupo")
'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("NomOperacion")%>","<%=rs.Fiel ds("CodSubGrupo")%>");

<%

cuenta=cuenta+1
response.write(cuenta)
rs.MoveNext

wend
%>


<%
'Limpiamos objetos
rs.Close
set rs=nothing
Conex.Close
set Conex=nothing
%>

var contador;

function ComponerLista ( array )
{

BorrarLista();
array = eval("opciones" + array);

for (contador=0; contador<array.length; contador++)
{
var optionObj = new Option( array[contador].campo1, array[contador].campo2 );

Listas.libros.options[contador] = optionObj;

}
}

function BorrarLista() {

Listas.libros.length=0;
}

//Inicializamos
ComponerLista (1);

-->
</SCRIPT>
<SCRIPT language=JavaScript>
<!--
function Mensaje(element, message)
{
alert(message);
element.focus();
}
function Validar(form)
{
var validado = false;
if (form.nombre.value == "")
{
Mensaje(form.nombre, "Falta el nombre.");
}
else
if (form.texto.value == "")
{
Mensaje(form.texto, "Debe realizar alguna sugerencia antes de enviar.");
}
else if (form.correo.value.indexOf("@") == -1 || form.correo.value.indexOf(".") == -1)
{
Mensaje(form.correo, "Por favor, incluya su dirección electrónica.");
}
else
{
validado = true;
}
return validado;
}
//-->
</SCRIPT>
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 18:21.