Tengo el código de un select dependiente, al seleccionar algún dato (idiomas), carga los datos en un nuevo select (horarios). Pero no funciona totalmente, el primer dato de la lista no lo toma, a partir del segundo dato funciona bien. Me podrían ayudar a detectar el error? Espero me haga entender. Gracias.
Este es el formulario:
Código HTML:
<html><head> <title>Agregar fila de campos DINAMICOS</title> <script type="text/javascript" src="jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $(".soc").change(function(){ var tr = $(this).parent().parent(); //alert($('.idi').val()); idi = $(this).val(); $.post("getIdiomas.php", { idi: idi }, function(data){ tr.find("#term").html(data); }); }) $("#adicional").on('click', function(){ var row = $("#tabla tbody tr:eq(0)").clone(true).removeClass('fila-fija'); row.find('.term').empty(); row.appendTo("#tabla tbody") }); $(".eliminar").on("click",function(){ var parent = $(this).closest("tr").remove(); }); }); </script> </head> <body> <table align="center" class="table bg-info" id="tabla"> <thead> <tr> <th>IDIOMAS</th> <th>HORARIOS</th> </tr> </thead> <tbody> <tr class="fila-fija"> <td> <select class="idi" name="idi[]"> <option value="NULL">Seleccionar</option> <option value="1">ingles</option> <option value="2">frances</option> <option value="3">portugues</option> </select> </td> <td><select name="term[]" class="term" id="term"></select></td> <td class="eliminar"><input type="button" value="-"/></td> </tr> </tbody> </table> <div class="btn-der"><button id="adicional" name="adicional" type="button" class="btn btn-warning">+</button></div> </body> </html>
Código PHP:
<?php
include('conexion.php');
$idi = $_POST['idi'];
$query="SELECT cod_hor,horario from horario where cod_hor='$idi'";
$result=$mysqli->query($query);
$html = "<option value=''>Seleccionar</option>";
while (($fila = mysqli_fetch_array($result)) != NULL) {
$html.= "<option value='".$fila['cod_hor']."'>".$fila['horario']."</option>";
}
echo $html
?>