Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/01/2014, 13:39
bathorz
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 11 años, 5 meses
Puntos: 29
Respuesta: Select anidado

Prescindiendo de la BBDD utilizo un array para silumar las respuestas. Espero funcione.
Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     // Parametros para e combo1
  3.     $("#combo1").change(function() {
  4.       $("#combo1 option:selected").each(function() {
  5.         var elegido = $(this).val();
  6.         $.post("combo1.php", {elegido: elegido},
  7.         function(data) {
  8.           $("#combo2").html(data);
  9.           $("#combo3").html("");
  10.         });
  11.       });
  12.     })
  13.   });

Código HTML:
Ver original
  1. <?php
  2. // reemplaza la respuesta del servidor
  3. $fila = array(
  4.  array(
  5.    'cia' => 'comp1',
  6.     'aerolinea' => 'Iberia'
  7.   ),
  8.   array(
  9.     'cia' => 'comp2',
  10.     'aerolinea' => 'France'
  11.   )
  12. );
  13.  
  14. $i = 0;
  15. echo"<select name='combo1' id='combo1'>";
  16. echo"<option value ='99'>Elegir Cia Aerea</option>";
  17. while (each($fila)) {
  18.   echo"<option value=" . $fila[$i]['cia'] . ">" . $fila[$i]['cia'] . " - " . $fila[$i]['aerolinea'] . "</option>";
  19.   $i++;
  20. }
  21. echo"</select>";
  22. ?>
  23. <select name="combo2" id="combo2"></select>
  24. <select name="combo3" id="combo3"></select>

Combo1
Código PHP:
Ver original
  1. // reemplaza la respuesta del servidor
  2. $fila2 = array(
  3.   array(
  4.     'nombre' => 'nom1',
  5.   ),
  6.   array(
  7.     'nombre' => 'nom2',
  8.   )
  9. );
  10.  
  11. $rpta ='';
  12. $i = 0;
  13. while (each($fila2)) {
  14.   // encadena los options
  15.   $rpta .= "<option value='" . $fila2[$i]['nombre'] . "'>" . $fila2[$i]['nombre'] . "</option>";
  16.   $i++;
  17. }
  18. echo $rpta;