Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/05/2011, 05:43
Avatar de aniMAYtions
aniMAYtions
 
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 17 años
Puntos: 2
Busqueda Respuesta: Primeros pasos con Xajax, no hago funcionar una lista dependiente

Hola ramiromd.
Por qué no lo haces con javascript?
Yo también uso xajax pero en el onclick del select padre llamo a una función javascript que me rellena el select hijo.
Te pongo un ejemplo:
Código PHP:

//primero va la consulta para mostrar los resultados del select padre...

$salida .= "<select name='provincias' id='provincias' value='' onchange='javascript:rellenaPoblaciones(this.value);'>";
while(
$fila mysql_fetch_row($resultado))
{
$salida .= "<option name='provincias' value='$fila[0]'>$fila[1]</option>";
}
$salida .= "</select>";
$salida .= "<select name='poblaciones' id='poblaciones' value = ''></select>"
La función javascript llamada sería:

Código Javascript:
Ver original
  1. function rellenaPoblaciones(id_provincia)
  2. {
  3.     document.formulario.poblaciones.length=0;
  4.     /*document.formvolante.poblaciones.options[0] = new Option("","","defaultSelected","");*/
  5.     var indice=1;
  6.     <?
  7.         $conexion = conectar();
  8.         $sql_poblacion = "SELECT * from poblaciones";
  9.         $rs_poblacion = mysql_query($sql_poblacion, $conexion);
  10.         if(mysql_num_rows($rs_poblacion)>0)
  11.         {
  12.             while($row_poblacion = mysql_fetch_assoc($rs_poblacion))
  13.             {
  14.    
  15.     ?>
  16.     if(id_provincia=='<?=$row_poblacion["id_provincia"]?>')
  17.     {
  18.     document.formulario.poblaciones.options[indice] = new Option("<?=addslashes($row_poblacion["nombre_poblacion"])?>","<?=$row_poblacion["id_poblacion"]?>");
  19.     indice++;
  20.     }
  21.     <?
  22.             }
  23.         }
  24.     ?>
  25. };

Espero que te sirva de ayuda y nos cuentes qué tal.

Saludos!!