Hola que tal.
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>
jquery.combos.js
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>';
}
?>
Pues esos son los tres script que uso para hacerlo, solo he podido notar que no realiza las acciones desde
$.post, antes de eso el script funciona lo note poniendo alert('mensaje').
Ya he estado mucho tiempo con esto y no veo el error, por favor necesito su ayuda :P gracias.