Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/11/2013, 23:02
summerblack
 
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!!