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

Selects dependientes en Asp

Estas en el tema de Selects dependientes en Asp en el foro de ASP Clásico en Foros del Web. Ante todo gracias por leer este tema: Si alguien de ustedes ha seguido el Taller de ASP, habran visto el articulo de selects dependientes. Funciona ...
  #1 (permalink)  
Antiguo 03/08/2005, 09:14
 
Fecha de Ingreso: agosto-2005
Mensajes: 12
Antigüedad: 18 años, 10 meses
Puntos: 0
Selects dependientes en Asp

Ante todo gracias por leer este tema:
Si alguien de ustedes ha seguido el Taller de ASP, habran visto el articulo de selects dependientes. Funciona correctamente hasta que en la base de datos le pones paises compuestos de dos palabras Ej: Costa Rica, Estados Unidos, República Dominicana,etc. Cuando consultas esos paises te despliega las Provincias asociadas pero en el combo de Pais se despliega el primero de la lista y no selecciona el elegido con anterioridad. Deduzco que es por el espacio en Blanco que hay en los paises mencionados. Si alguien me pudiera dar la solución a este problema quedaría muy agradecido
Att
Gustavo Vásquez C.
  #2 (permalink)  
Antiguo 03/08/2005, 10:45
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
la verdad de las cosas es que no entendi del todo tu problema
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #3 (permalink)  
Antiguo 03/08/2005, 12:00
 
Fecha de Ingreso: agosto-2005
Mensajes: 12
Antigüedad: 18 años, 10 meses
Puntos: 0
Gracias El Metallick por responder, no se si tu leiste el articulo de los selects dependientes del taller de asp?, si no es asi entonces te aclaro mi problema: tengo una base en access la cual tiene dos tablas pais y provincia, en una pagina asp despliego un combo con los paises y dependiendo del pais que escoja se refresca la pagina y me despliega en otro combo las provincias de ese pais. El código de esa pagina lo probe de el articulo que te comento. Funciona muy bien, el problema radica en que le aumente a mi base nombres de paises y sus respectivas provincias entre ellos paises compuestos por dos palabras como te ponia en el ejemplo: Republica Dominicana. Al escoger ese pais si me despliega las provincias asociadas al mismo pero en el combo de paises me despliega el primero de la lista y no Republica Dominicana es como si no lo encontrara en el combo.
Aqui te envio el codigo de la pagina para que lo veas:

<form name=formulario>
PAÍS: <select name=idPais onChange="location.href('selects_dependientes.asp? idPais=' + formulario.idPais.options[formulario.idPais.selectedIndex].value)">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("ssdd.mdb"))

SQL_pais="select * from paises order by pais asc"
set RS_pais=createobject("ADODB.Recordset")
RS_pais.open SQL_pais,conn
do while not RS_pais.eof
pais = RS_pais("pais")
idPais = RS_pais("idPais")
p = request.querystring("pais")
if p <> "" then

if p = pais then
response.write "<option value="&idPais&"&pais="&pais&" selected>"&pais&"</option>"
elseif p <> pais then
response.write "<option value="&idPais&"&pais="&pais&">"&pais&"</option>"
end if
else
response.write "<option value="&idPais&"&pais="&pais&">"&pais&"</option>"
end if

RS_pais.movenext
loop
RS_pais.close
%>
</select>
<%
if request.querystring("idPais") <> "" then %>
PROVINCIA: <select name=ubicacion>
<%
SQL_prov="select * from provincias where pais="&request.querystring("idPais")&" order by provincia asc"
set RS_prov=createobject("ADODB.Recordset")
RS_prov.open SQL_prov,conn
do while not RS_prov.eof

pais = request.querystring("pais")
provincia = RS_prov("provincia")
%>
<option value="<%=provincia%>, <%=pais%>"><%=provincia%></option>
<%
RS_prov.movenext
loop
RS_prov.close
%>
</select><% end if %></form>
Gracias Nuevamente
  #4 (permalink)  
Antiguo 03/08/2005, 12:27
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
por lo que eo tienes que agregar las comillas dobles en estas lineas asi:

if p = "pais" then
elseif p <> "pais" then

Porque de lo contrario el espacio seria como un cambio de parametro o algo asi... eso no tengo claro porque pero asi se deveria solucionar... prueba y comentanos

Espero que sea eso saludos y suerte
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #5 (permalink)  
Antiguo 03/08/2005, 14:11
 
Fecha de Ingreso: agosto-2005
Mensajes: 12
Antigüedad: 18 años, 10 meses
Puntos: 0
No funcionó

Sabes que no funciona te digo la direccion http que me sale una vez que escojo por ejemplo: El Salvador
http://servidor/sema/selects_dependi...Pais=8&pais=EL

Es como se corta la palabra Salvador
Gracias por tu ayuda
  #6 (permalink)  
Antiguo 03/08/2005, 14:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
no creo que sea eso, porque al ponerle las comillas estás tratando como si pais fuese una cadena "pais", cuando en realidad es la variable que contiene el campo "pais" de la tabla.
La otra cosa que veo es que estas comparando p con la variable pais, cuando p debería contener el valor de la variable "pais" que le pasas por la url, que en realidad nunca le estás pasando. Solamente le pasas por la url la variable IdPais. Pero como creo yo que el objetivo de esa comparación es solamente determinar cual de las opciones del combo está seleccionado, no hace falta que le pases otra variable más por la url, sino que podés hacer la comparación con el Id del país seleccionado y el Id del país del registro del rs que estás mostrando (if IdPais = request.queryString("IdPais") then... el código correspondiente).
Si haces una prueba, y devuelves al navegador el valor de la variable p, vas a ver que no tiene nada, entonces nunca se cumple la condición p = pais, y por eso, nunca queda seleccionado el país que en realidad elegiste. Pero ese error no solo debería dartelo con países compuestos, sino con todos los países, por eso no se si con eso solo estará solucionado. Será cuestión de probar.
Saludos!.
__________________
Add, never Remove
  #7 (permalink)  
Antiguo 03/08/2005, 14:29
 
Fecha de Ingreso: agosto-2005
Mensajes: 12
Antigüedad: 18 años, 10 meses
Puntos: 0
la solución es esta

Me contacte con la creadora de Script Eugenia Bahit una excelente persona que me respondio super rapido. El error se corrigio con algo que ya menciono El_metallick unas comillas simples pero en los valores values de las etiquetas html option:
if p = pais then
response.write "<option value='"&idPais&"&pais="&pais&"'selected>"&pais&"</option>"
elseif p <> pais then
response.write "<option value='"&idPais&"&pais="&pais&"'>"&pais&"</option>"
end if
else
response.write "<option value='"&idPais&"&pais="&pais&"'>"&pais&"</option>"

Con todo a El_metallick y a mariano_donati les agradezco por su tiempo y su ayuda y estoy a las ordenes cualquier pregunta
Gracias una buena tarde
  #8 (permalink)  
Antiguo 09/01/2007, 06:09
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Re: Selects dependientes en Asp

Saludos
Alguien sabe por qué este script de selects dependientes no funciona en firefox?
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #9 (permalink)  
Antiguo 21/01/2007, 05:57
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago de Compostela
Mensajes: 603
Antigüedad: 21 años
Puntos: 0
Re: Selects dependientes en Asp

Perdonen mi insistencia, pero el script funciona no funciona en firefox.
¿Alguien tiene alguna idea?
Gracias
__________________

Espero haber aprendido algo de tí.
A mi padre.
  #10 (permalink)  
Antiguo 22/01/2007, 04:29
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 6 meses
Puntos: 144
Re: Selects dependientes en Asp

Prueba este a ver: http://www.aspfacil.com/codigo/listasdependientes.asp
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 23:04.