Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/10/2010, 18:09
Avatar de SymarCs
SymarCs
 
Fecha de Ingreso: abril-2010
Mensajes: 67
Antigüedad: 14 años, 8 meses
Puntos: 1
Problema con $.post de jQuery

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
  1. $(document).ready(function(){
  2.     $("select").change(function(){
  3.                    
  4.         nombre_combo = $(this).attr("name"); //nombre del combo
  5.         indice = $(this).val(); //indice (value) de la opcion seleccionada
  6.  
  7.         // Si el combo1 vuelve al valor por defecto, el combo2 tambien lo hara
  8.         if(nombre_combo == 'com1' && indice == 0){
  9.             $("#com2").html('<option value="0">Selecciona uno...</option>')
  10.         }else{
  11.             //SI el indice (value) no es el valor por defecto (0)
  12.             if(valor != 0){
  13.             // Se llama a la pagina combos.php donde estan las consultas sql
  14.                 $.post("combos.php",{
  15.                        id:$(this).val() // Valor seleccionado
  16.                        },function(data){
  17.                            $("#com2").html(data); //Se debe llenar el segundo combo
  18. de acuerdo a la opcion elegida del primero pero NO se llena
  19.                 })
  20.             }
  21.         }
  22.     })
  23. })

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.