Foros del Web » Programando para Internet » Javascript »

Select anidado

Estas en el tema de Select anidado en el foro de Javascript en Foros del Web. Hola Tengo el siguiente problema con un select anidado. de la base de datso me trae perfecto los datso para el primer select, pero cuando ...
  #1 (permalink)  
Antiguo 08/01/2014, 10:26
 
Fecha de Ingreso: octubre-2013
Mensajes: 56
Antigüedad: 10 años, 6 meses
Puntos: 1
Select anidado

Hola

Tengo el siguiente problema con un select anidado.
de la base de datso me trae perfecto los datso para el primer select, pero cuando lo modifico, no me carga el segundo.

Alguien me podra ayudar?

Les paso los codigos de los archivos
el del combo 2 todavia no lo tengo desarrollado.

archivo INDEX.PHP

<?php include("conn.php");?>
<!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>Combos dependientes</title>
<script language="javascript" src="jquery-1.2.6.min.js"></script>
<script language="javascript">
$(document).ready(function(){
// Parametros para e combo1
$("#combo1").change(function () {
$("#combo1 option:selected").each(function () {
//alert($(this).val());
elegido=$(this).val();
$.post("combo1.php", { elegido: elegido }, function(data){
$("#combo2").html(data);
$("#combo3").html("");
});
});
})
// Parametros para el combo2
$("#combo2").change(function () {
$("#combo2 option:selected").each(function () {
//alert($(this).val());
elegido=$(this).val();
$.post("combo2.php", { elegido: elegido }, function(data){
$("#combo3").html(data);
});
});
})
});
</script>
</head>
<body>
<?php
echo"<select name='combo1' id='combo1' onchange='function()'>";
$sql = "SELECT DISTINCT cia,aerolinea FROM coeficientes ORDER BY cia";
$res = mysqli_query($conn, $sql);
echo"<option value ='99'>Elegir Cia Aerea</option>";
while ($fila = mysqli_fetch_assoc($res)) {
echo"<option value=".$fila['cia'].">".$fila['cia']." - ".$fila['aerolinea']."</option>";
}
echo"</select>";
?>
<select name="combo2" id="combo2">
</select>

<select name="combo3" id="combo3">
</select>
---------------------------------------------------------------------------------------------------------
COMBO1.PHP

<?php include("conn.php");?>
<?php
$rpta="";

$sql = "SELECT nombre FROM coeficientes WHERE Cia= ".$_POST["elegido"]." ORDER BY nombre";
$res = mysqli_query($conn, $sql);
while ($fila = mysqli_fetch_assoc($res)) {
$rpta="
<option value=".$fila['nombre'].">".$fila['nombre']."</option>
";
}

echo $rpta;
?>
--------------------------------------------------------------------------------------------

Desde ya muchisimas gracias
  #2 (permalink)  
Antiguo 10/01/2014, 02:50
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 meses
Puntos: 29
Respuesta: Select Aanidado

¿Aún necesitas ayuda?
  #3 (permalink)  
Antiguo 10/01/2014, 07:15
 
Fecha de Ingreso: octubre-2013
Mensajes: 56
Antigüedad: 10 años, 6 meses
Puntos: 1
Respuesta: Select anidado

Si, por favor
Muchas gracias
  #4 (permalink)  
Antiguo 10/01/2014, 13:39
 
Fecha de Ingreso: agosto-2013
Mensajes: 150
Antigüedad: 10 años, 8 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;

Etiquetas: html, js, php, select
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:11.