Ayuda para actualizar el listado de los selects en una página con asp

Mi pregunta es la siguiente, tengo dos selects en mi página asp, una con el listado de países, y otro de ciudades que se actualiza de acuerdo al país escogido, ¿cómo hago para hacer esa actualización?.
Claro, ya tengo mis datos en la base de datos, las relaciones, etc... Lo único que no se es el proceso asp, refrescar o actualizar el segundo select.
Saludos

1 Respuesta

Respuesta
1
OK, Tiene suna página que contiene los dos frame, vamos a llamarla principal.html
<html>
<head><title>Paises y Ciudades</title>
</head>
<frameset rows="65,*" border=0>
<frame src="VerPaises.asp" name="header">
<frame src="VerCiudadPais.asp?pais=" name="footer">
</frameset>
</html>
VerPaises.asp
<html>
<script language="JavaScript">
function refrescarCiudad( frm ){
var url;
var cbo;
cbo = frm.cboPais;
url = "VerCiudadPais.asp?pais=" + cbo.options[cbo.selectedIndex].value;
parent.footer.document.location.href = url;
}
</script>
</head>
<body>
<form name="myForm">
<table border="0">
<tr>
<td>Pais:</td>
<td><select name="cboPais">
<option value=""> </option>
<%
Dim rs
Dim sSQL
sSQL = "SELECT CodigoPais, NombrePais FROM Pais ORDER BY CodigoPais"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sSQL, oCon
Do until rs.Eof
Response.Write "<option value=" & rs.Fields("CodigoRol") & ">" & rs.Fields("NombrePais") & "</option>" ) & vbCrLf
rs.MoveNext
Loop
rs.Close: Set rs = Nothing
%></select></td>
<td><input type="button" value="..." onClick="refrescarCiudad(this.form);"></td>
</tr>
</table>
<form>
</body>
</html>
Y por ultimo la pagina VerCiudadPais.asp
<html>
<head>
</head>
<body>
<form>
<table><tr><td>Ciudad:</td></tr>
<tr><td>
<select name="lstCiudad">
<%
Dim CodigoPais
Dim rs
Dim sSQL
CodigoPais = Request.QueryString("Pais") & ""
If Len( CodigoPais) > 0 Then
sSQL ="SELECT CodigoCiudad, NombreCiudad FROM Ciudad WHERE CodigoPais=" & CodigoPais
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sSQL, TuObjetoConnection
Do Until rs.eof
Response.Write "<option value='" & rs.Fields("CodigoCiudad") & "'>" & rs.Fields("NombreCiudad") & "</option>" & vbCrLf
rs.MoveNext
Loop
rs.Close: Set rs = nothing
End If
</select></td></tr></table>
</form>
</body>
</html>
Ok, muy buena tu respuesta. Ahora lo siguiente, me podrías poner como ejemplo un pequeño código aplicando esto, como pasar el parámetro y me imagino que lo redirecciono con el response.redirect.
Después de esto finalizo la pregunta.
Gracias por la ayuda
Tienes varias opciones para hacerlo:
1) Descargar todo la información de países y ciudades y formar arreglo para JavaScript y en el evento OnChange del Select de países refrescar el Select de Ciudades.
2) Tener dos frames, uno donde muestres los países y otro donde muestres las ciudades y al seleccionar el país refrescar el frame pasándole como parámetro el código del país seleccionado.
Esta es la técnica que uso, aunque se tarde más, pero es preferible a tener todo en el cliente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas