elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Cargar las ciudades para un país seleccionado (jquery)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Cargar las ciudades para un país seleccionado (jquery)  (Leído 7,211 veces)
[GB]

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Cargar las ciudades para un país seleccionado (jquery)
« en: 22 Mayo 2010, 22:05 pm »

Buenas, estoy intentando hacer un script con la herramienta jquery para una web que consiste de 2 option select; uno de ellos para seleccionar el país que el usuario quiere elegir y en el otro select se cargaran las ciudades para el país que eligió el usuario en el select anterior, mas o menos lo tengo y acá va:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Paises</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
x= $(document);
x.ready(inicializarControles);

var aCiudades = new Array();

function inicializarControles(){
    y=$("#ciudades");    
    x=$("#paises");
    x.click(cargarCiudades);
 }

function cargarCiudades() {    
 
 if (x.value=="UY") {
      aCiudades.clear();  
      aCiudades[0] = "Montevideo";
      aCiudades[1] = "Canelones";
      aCiudades[3] = "San Jose";
      for(var i=0; i< aCiudades.length; i++) {
            y.append(aCiudades[i]);
      }
 }
 
  if (x=="AR") {
      aCiudades.clear();
      aCiudades[0] = "Buenos Aires";
      aCiudades[1] = "La Plata";
      aCiudades[3] = "Rosario";
       for(var i=0; i< aCiudades.length; i++) {
           y.append(aCiudades[i]);
      }

 }


}

</script>

</head>

<body>

<select name="paises" id="paises">
<OPTION VALUE="UY">Uruguay</OPTION>
<OPTION VALUE="AR">Argentina</OPTION>
<OPTION VALUE="BR">Brasil</OPTION>
</select>
<br>
<select name="ciudades" id="ciudades">

</select>

</body>
</html>

Jquery: http://code.jquery.com/jquery-1.4.2.js


Y bueno el problema esta en la funcion cargarCiudades() mas precisamente en el for donde recorro las ciudades cargadas en el array , intente hacer un append.. pero no tengo idea de como hacer para que aparezcan en su correspondiente  select ciudades... alguna idea? thanks!



« Última modificación: 22 Mayo 2010, 22:07 pm por [GB] » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Cargar las ciudades para un país seleccionado (jquery)
« Respuesta #1 en: 22 Mayo 2010, 23:22 pm »

puede ser .append() o .html()

Código
  1. y.append('<option value="' + aCiudades[i] + '">' + aCiudades[i] + '</option>');


En línea

Ojo por ojo, y el mundo acabará ciego.
[GB]

Desconectado Desconectado

Mensajes: 30


Ver Perfil
Re: Cargar las ciudades para un país seleccionado (jquery)
« Respuesta #2 en: 23 Mayo 2010, 17:48 pm »

puede ser .append() o .html()

Código
  1. y.append('<option value="' + aCiudades[i] + '">' + aCiudades[i] + '</option>');

Gracias! era justo lo que precisaba ahora si funciona bien y entiendo mas o menos como es la mano con esto! y value estaba mal en el if... era con val() e "==" no "="
Dejo a continuación el código corregido y funcionando, por si a alguien por esas casualidades le sirve de algo...
Saludos!

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Paises</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
x= $(document);
x.ready(inicializarControles);

function inicializarControles(){
    y=$("#ciudades");    
    z=$("#paises");
    z.change(cargarCiudades);
 }

function cargarCiudades() {
 
 y.children().remove();  
 
 if (z.val()=="UY") {
      var aCiudades = new Array();
      aCiudades[0] = "Montevideo";
      aCiudades[1] = "Canelones";
      aCiudades[2] = "San Jose";
      for(var i=0; i< aCiudades.length; i++) {
            y.append('<option value="' + aCiudades[i] + '">' + aCiudades[i] + '</option>');
      }
 }
 
  if (z.val()=="AR") {
      var aCiudades = new Array();  
      aCiudades[0] = "Buenos Aires";
      aCiudades[1] = "La Plata";
      aCiudades[2] = "Rosario";
       for(var i=0; i< aCiudades.length; i++) {
           y.append('<option value="' + aCiudades[i] + '">' + aCiudades[i] + '</option>');
      }

 }


}

</script>

</head>

<body>

<select name="paises" id="paises">
<OPTION selected></OPTION>
<OPTION VALUE="UY">Uruguay</OPTION>
<OPTION VALUE="AR">Argentina</OPTION>
<OPTION VALUE="BR">Brasil</OPTION>
</select>
<br>
<select name="ciudades" id="ciudades">

</select>

</body>
</html>
« Última modificación: 23 Mayo 2010, 17:50 pm por [GB] » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como cargar o dividir DB MYSQL de 300MB. (tiene todas las ciudades del mundo IP)
Desarrollo Web
Graphixx 1 4,185 Último mensaje 27 Diciembre 2010, 07:36 am
por Graphixx
{RESUELTO}Cargar documento dentro de una celda, mediante javascript+jquery « 1 2 3 »
Desarrollo Web
|Miguel| 23 14,128 Último mensaje 28 Marzo 2012, 00:30 am
por |Miguel|
[SOLUCIONADO] Cargar contenido + JQuery.Load()
Desarrollo Web
Shell Root 2 2,483 Último mensaje 16 Noviembre 2012, 22:28 pm
por Shell Root
Jquery Duda con Cargar un Select
Desarrollo Web
Slikp 4 2,807 Último mensaje 7 Noviembre 2014, 16:31 pm
por Slikp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines