Foros del Web » Programando para Internet » Javascript » Frameworks JS »

rellenar una lista en funcion de otra lista

Estas en el tema de rellenar una lista en funcion de otra lista en el foro de Frameworks JS en Foros del Web. Este es mi problema. Dispongo de un formulario el cual tiene dos listas entre muchos otros objetos. Una lista es de familias y la subfamilias: ...
  #1 (permalink)  
Antiguo 06/02/2007, 03:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 17 años, 10 meses
Puntos: 0
rellenar una lista en funcion de otra lista

Este es mi problema. Dispongo de un formulario el cual tiene dos listas entre muchos otros objetos. Una lista es de familias y la subfamilias:
Codigo
<td>
Familia
</td>
<td>
<select name="familias" onChange="habilita(this.form)">
<option value="0" onClick="deshabilita(this.form)">No especificado</option>
<?php while ($rscampofam = mysql_fetch_array($rsfam) ){ ?>
<option value="<?php echo $rscampofam["fam_id"]; ?>"><?php echo $rscampofam["fam_nombre"]; ?></option>
<?php } ?>
</select>
</td>
<td>
</td>
<td>

Sub Familia
</td>
<td>
<select name="subfamilias" disabled="disabled">
<?
$sqlsubfam = "Select * From subfamilias where sub_fam_id=";
$rssubfam = mysql_query($sqlsubfam);
?>
<option value="0">No especificado</option>
<?php while ($rscamposubfam = mysql_fetch_array($rssubfam) ){ ?>
<option value="<?php echo $rscamposubfam["sub_id"]; ?>"><?php echo $rscamposubfam["sub_nombre"]; ?></option>
<?php } ?>
</select>
</td>

FIN CODIGO HTML
Lo que yo kiero hacer es en funcion del id de la familia rellenar la lista de subfamilias. La cuestion es que yo habilito la lista subfamilia cuando se cambia la familia:
Código
<script languaje="javascript">
function habilita(form)
{

form.subfamilias.disabled = false;
var opcion = document.subfamilias.selectedIndex;


}

function deshabilita(form)
{
form.subfamilias.disabled = true;
}
</script>
Fín código
Agradecería que me ayudarais xq nadie por aki puede hacerlo.

Gracias por anticipado
  #2 (permalink)  
Antiguo 06/02/2007, 12:54
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años, 5 meses
Puntos: 53
Re: rellenar una lista en funcion de otra lista

aver aver puedes explicar un poco mejor el problema, porque la evrdad que no veo cual es, solo mencionas lo que quieres hacer, pero no que es lo que no puedes hacer!

have funnnnnnnnnnn
  #3 (permalink)  
Antiguo 08/02/2007, 02:26
 
Fecha de Ingreso: febrero-2007
Mensajes: 2
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: rellenar una lista en funcion de otra lista

Lo que no se es como rellenar la lista de subfamilias en funcion de la familia que coja en la primera lista. Comprendes lo que quiero decir?
  #4 (permalink)  
Antiguo 08/02/2007, 06:13
 
Fecha de Ingreso: febrero-2007
Mensajes: 3
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: rellenar una lista en funcion de otra lista

Lo que tienes que hacer es crear una funcion (mejor en ajax) que recoja la id de la familia y recargue el desplegable de la subfamilia:

creas la funcion xxx() que recoja la id del elemento seleccionado, la envie a un archivo xxx.php, recoja el resultado y lo muestre en el select de las subfamilias

**********************************
function xxx()
{
var id_familia=document.getElementById("la_id_del_sele ct_familia").options[document.getElementById("la_id_del_select_familia" ).selectedIndex].value;
ajax=nuevoAjax();
ajax.open("GET", "xxx.php?id_familia="+id_familia, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
document.getElementById("id_del_div_o_celda_donde_ esta_el_select_subfamilia").innerHTML=ajax.respons eText;
}
}
ajax.send(null);
}

************************************************** *****


colocas en el select de la familia el evento onChange='xxx()'

y listo



debes tener en cuenta que el select de la subfamilia debe estar dentro de un div o una celda con una id determinada (para que ajax devuelva el resultado de xxx.php en ese lugar)

puedes si quieres colocar el select inicial de la subfamilia un 'disabled' o dejarlo en blanco, para que mientras no se seleccione familia no aparezca nada, o puedes hacer que aparezcan los resultados correspondientes a la primera familia...


el archivo xxx.php debe recoger la id que le envias y devolver un select que contenga los resultados que quieres mostrar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:35.