Foros del Web » Programando para Internet » Javascript »

multiple eleccion departamentos y ciudades (ajax)

Estas en el tema de multiple eleccion departamentos y ciudades (ajax) en el foro de Javascript en Foros del Web. Hola amigos programadores El dia de hoy traigo un reto, a ver quien me pueda ayudar porque yo ya no se q' mas hacer jejej ...
  #1 (permalink)  
Antiguo 10/11/2013, 23:02
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
multiple eleccion departamentos y ciudades (ajax)

Hola amigos programadores
El dia de hoy traigo un reto, a ver quien me pueda ayudar porque yo ya no se q' mas hacer jejej


Bueno el caso es el siguiente, resulta que tengo q filtrar un conjunto de personas (clientes) por cargo, por país y por departamento.

El primer filtro es por el cargo de los clientes, y los listo a cada uno de los cargos con un checkbox.. hasta ahi normal.

Pero... el segundo filtro es por departamento y ciudad, normalmente lo haria con 2 select anidados.. Pero esta vez no puedo! y debo hacerlo mediante checkbox tambien, es decir:

tengo un div en el cual listo los departamentos de la siguiente forma:


Código PHP:
Ver original
  1. <label>Departamento</label></br>
  2.         <?php          
  3.             echo "<div name='departamento' id='departamento' style='overflow:auto; height:20%; width:99%;'>";              
  4.             while ($fila =mysqli_fetch_assoc($resultado3))
  5.                 {      
  6.                       echo "<input type='checkbox' name='chkDep' id='chkDep' value='".$fila['Departamento']."'  onClick='cambiarCiudades(this.value)' >".$fila['Departamento']."<br>";
  7.                 }  
  8.             echo "</div>";
  9.             ?>

Como pueden ver cada Departamento viene junto con un checkbox que al darle click ejecuta la funcion cambiarCiudades(this.value)
esta funcion me lista las ciudades del departamento seleccionado de una manera similar en un div mas abajito de la pagina:


Código PHP:
Ver original
  1. //la variable $departamento contiene el departamento que contiene esas ciudades
  2. echo '<input type="checkbox" name='.$departamento.' id="chkCiudad" value="'.$ciudad.'" onclick="capturarCiudades(this.name)" >'.$ciudad.'<br>';


mi problema es que necesito capturar varios departamentos y varias ciudades en una misma consulta es decir:
Si le doy check al Departamento1 este me lista sus ciudades y cada una tiene su checkbox para elegir, luego si le doy click en departamento2 el sistema me borra las ciudades anteriores y me lista las de este departamento2.. pero necesito capturar todas estas elecciones realizadas!!
hasta ahora lo unico que he pensado es en guardar esta informacion dentro de un input escondido (display:none) pero al darle click por segunda vez en otro departamento se me borra la informacion que tenia

capturarCiudades(this.name):


Código Javascript:
Ver original
  1. function capturarCiudades(departamento){
  2.     var chkCiudad ='';
  3.     var input=document.getElementById('cadena');
  4.     input.value=departamento;
  5.  
  6. for (var i=0;i < document.getElementsByTagName('input').length;i++)
  7. {  
  8.     checks=document.getElementsByTagName('input')[i];
  9.     if (checks.type == "checkbox")
  10.             {  
  11.                 if (checks.checked == true && checks.id=='chkCiudad'){  
  12.                      chkCiudad=chkCiudad+','+checks.value;  
  13.                      chkCiudad=chkCiudad.substring(1,chkCiudad.length);
  14.                 }      
  15.             }
  16. }
  17.  
  18.  
  19. input.value=input.value+chkCiudad;
  20. }

Espero haberme hecho entender y que me puedan dar una manito con este reto.. gracias y suerte chic@s!!
  #2 (permalink)  
Antiguo 11/11/2013, 00:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 8 meses
Puntos: 1284
Respuesta: multiple eleccion departamentos y ciudades (ajax)

Hola:

Para empezar, los atributos "id" deben ser únicos, así que si los necesitas debes hacer algo para ello.

Cuando yo tengo que hacer selecciones múltiples (o similares) empiezo con un array vacío y voy añadiendo ítems:

ciudades = Array();
if (debe_insertarse_city) ciudades.push(city);//...

Luego se inserta en el control con ciudades.join(",")...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/11/2013, 21:04
 
Fecha de Ingreso: diciembre-2012
Mensajes: 249
Antigüedad: 12 años
Puntos: 2
Respuesta: multiple eleccion departamentos y ciudades (ajax)

muchisimas gracias por la respuesta caricatos la verdad no habia pensado en el join, voy a comenzar y si tengo mas dudas preguntare!!

Etiquetas: eleccion, funcion, input, php, variable
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 22:54.