Estoy haciendo el clasico "select dependiente" o "combos dependientes", con jQuery.
Tengo solo dos combos, el problema es que al cambiar la seleccion del primer combo el segundo no cambia cuando se supone debe hacerlo. El codigo lo tengo en 3 archivos.
formulario.php
Código PHP:
//Incluyo jquery.js y mi script jquery.combo.js con <script ...>
<form name="formulario1">
<select name="com1" id="com1">
<option value="0">Selecciona uno...</option>
<?php
//Se incluye y realiza la conexion la conexion
//Se muestran los datos del primer combo
?>
</select>
<select name="com2" id="com2">
<option value="0">Selecciona uno...</option>
</select>
</form>
Código Javascript:
Ver original
$(document).ready(function(){ $("select").change(function(){ nombre_combo = $(this).attr("name"); //nombre del combo indice = $(this).val(); //indice (value) de la opcion seleccionada // Si el combo1 vuelve al valor por defecto, el combo2 tambien lo hara if(nombre_combo == 'com1' && indice == 0){ $("#com2").html('<option value="0">Selecciona uno...</option>') }else{ //SI el indice (value) no es el valor por defecto (0) if(valor != 0){ // Se llama a la pagina combos.php donde estan las consultas sql $.post("combos.php",{ id:$(this).val() // Valor seleccionado },function(data){ $("#com2").html(data); //Se debe llenar el segundo combo de acuerdo a la opcion elegida del primero pero NO se llena }) } } }) })
combos.php
Código PHP:
<?php
//Se incluye la conexion
$sql = "select id_modulo,nombre_mod from modulos where numero_dis=".$_POST['id'];
$conexion = conexion();
$res = mysql_query($sql,$conexion) or die(mysql_error());
while($row = mysql_fetch_array($res)){
echo '<option value="'.$row['id_modulo'].'">'.$row['nombre_mod'].'</option>';
}
?>
Ya he estado mucho tiempo con esto y no veo el error, por favor necesito su ayuda :P gracias.