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

Cargar Combos (SELECT) sin recargar la página

Estas en el tema de Cargar Combos (SELECT) sin recargar la página en el foro de ASP Clásico en Foros del Web. Buenas, veamos un ejemplo, tengo un ASP con dos combos (o SELECT's), uno de paises y un segundo con ciudades . Hasta ahora lo que ...
  #1 (permalink)  
Antiguo 28/05/2002, 08:51
 
Fecha de Ingreso: marzo-2002
Mensajes: 3
Antigüedad: 22 años, 3 meses
Puntos: 0
Cargar Combos (SELECT) sin recargar la página

Buenas,

veamos un ejemplo, tengo un ASP con dos combos (o SELECT's), uno de paises y un segundo con ciudades . Hasta ahora lo que hacía era cargaba el de paises y cuando seleccionaran uno recargaba TODA la página, , poniendo en el segundo select las ciudades de ese país. He visto alguna página en la que hace el mismo efecto pero sin recargar la página completa .

¿Sabe alguien cómo ;) ?. Muchas gracias...
  #2 (permalink)  
Antiguo 28/05/2002, 09:42
 
Fecha de Ingreso: abril-2002
Ubicación: Madrid
Mensajes: 117
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Cargar Combos (SELECT) sin recargar la página

carga los 2 select en sendos arrays de javascript



<html>
<head>
<%
set objConn=server.createobject("adodb.connection ")
objConn.open("Provider=Microsoft.Jet.OLEDB.4. 0;Data Source="&server.mappath("cars.mdb&qu ot;))
set rs=objConn.execute("SELECT Makes.MakeID, Makes.Make, Models.Model FROM Makes INNER JOIN Models ON Makes.MakeID = Models.MakeID")
aData = rs.getrows
rs.close: set rs=nothing
objConn.close: set objConn=nothing
intID = 0
strListBox = "<select class=""listbox"" name=""makes"" onChange=""swapModel(this.form)"&qu ot;><option SELECTED value=""none"">Please Select A Make</option>"
response.write "<script>"&vbcrlf
for i = 0 to ubound(aData,2)
if cint(aData(0,i)) <> intID then
intCount = 0
intID = aData(0,i)
strListBox = strListBox &"<option value="""&intID&"&quot ;">"&aData(1,i)&"</option>"
response.write "a"&aData(0,i)&" = new Array();" & vbcrlf
end if
response.write "a"&intID&"["&intCount&"] = '"&aData(2,i)&"';"&vbcr lf
intCount = intCount +1
next
strListBox = strListBox & "</select>"
response.write "</script>"&vbcrlf
%>
<script>
function swapModel(frm){
if(frm.makes.options[frm.makes.options.selectedIndex].value!='none'){
var aArray = eval("a"+frm.makes.options[frm.makes.options.selectedIndex].value);
frm.models.options.length = aArray.length + 1;
for(i = 0;i<aArray.length;i++){
frm.models.options[i+1].text = aArray;
}
}
}
</script>

</head>
<body>

<form><p class="text"><%=strListBox%>
<select name="models" size="1" class="listbox">
<option value="none" SELECTED>Please Select A Model</option>
</select></form>

</body>
</html>
  #3 (permalink)  
Antiguo 28/05/2002, 16:11
 
Fecha de Ingreso: mayo-2002
Mensajes: 50
Antigüedad: 22 años, 1 mes
Puntos: 0
Re: Cargar Combos (SELECT) sin recargar la página

Otra forma en la que puedes refrescar tu combo sin necesidad de recargar la pagina es la de cargar todas la ciudades en un combo oculto el cual te va a servir para buscar las ciudades del pais que te hayas seleccionado para despues pasarlas al que va a ver el usuario.

Pero hay un gran pero, si los registros(ciudades) que vas aguardar en el combo oculto son muhos es mejor que se vuelva a recargar la pagina ya que de lo contrario cada vez que el usuario te seleccione un pais
deberas recorrer todo el combo para saber cuales son del pais elegido
  #4 (permalink)  
Antiguo 29/05/2002, 01:40
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 22 años, 5 meses
Puntos: 1
Re: Cargar Combos (SELECT) sin recargar la página

<a href='ir.asp?http://www.aspfacil.com/codigo/abrir.asp?id=7' target='_blank'>http://www.aspfacil.com/codigo/abrir.asp...</a>

Saludos

<center><img src="http://www.pcmasmas.com.ar/foro/images/avatars/043.gif"><br>
Urjose</center>
  #5 (permalink)  
Antiguo 29/05/2002, 05:08
 
Fecha de Ingreso: marzo-2002
Mensajes: 3
Antigüedad: 22 años, 3 meses
Puntos: 0
Re: Cargar Combos (SELECT) sin recargar la página

:cantar: GRACIAAAAAAAAAAAAS....

Sois la bomba...
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 01:46.