Ver Mensaje Individual
  #3 (permalink)  
Antiguo 14/08/2005, 19:42
Avatar de don_fransisco
don_fransisco
 
Fecha de Ingreso: junio-2004
Mensajes: 193
Antigüedad: 20 años, 5 meses
Puntos: 1
Hola Cluster Gracias por responder y por la explicación en realidad lo vi y quede algo "colgado", sin embargo he revisado el ejemplo de la Faq encuentro que tienes toda la razón tiene sus pro´s y sus contras aun asi me parece mas facil y mas entendible que el ejemplo anterior.

sin embargo encontre otro ejemplo que no recuerdo quien posteo para solucionar el mismo problema de los combo dinamicos y lo adapte a la tabla que aparecian en la FAQ, aqui lo dejo por si acaso alguien lo necesita:

Código PHP:
<?
$server
="localhost";
$user="";
$pass="";
$coneccion=mysql_connect($server,$user,$pass);
mysql_select_db("tubasededatos",$coneccion);
$sql_padre="select* from tabla_padre order by item_texto asc";
$sql_hija="select* from tabla_hija order by id_padre asc";
?>
<form method="post" name="main" action="">
Nombre :<input type="text" name="nombre">
Edad :<input type="text" name="nombre">
    <select name="cat" onchange="incluir(this.form.cat[selectedIndex].value);">
        <?
            $query
=mysql_query($sql_padre,$coneccion);
            while(
$row=mysql_fetch_array($query)){
                echo 
"<option value=".$row["id"].">".$row["item_texto"]."</option>";
            }            
        
?>
    </select>
    <select name="sub">
    </select>
    <input type="submit" name="send" value="Enviar">
</form>
<script lang="jscript">
function valores(campo1,campo2){
    this.campo1=campo1;
    this.campo2=campo2;
}
<?
$query_s
=mysql_query($sql_hija,$coneccion);
$indice=0;
$cat=0;
while(
$row=mysql_fetch_array($query_s)){
    if(
$cat!=$row["id_padre"]){
        
$indice=0;
        
$cat=$row["id_padre"];
        echo 
"var mimatriz".$cat."= new Array();\n";
    }
    echo 
"mimatriz".$cat."[".$indice."]=new valores('".$row["item_texto"]."','".$row["id"]."');\n";
}
?>
var i;
function incluir(array){
    clear();
    array=eval("mimatriz" + array);
    for(i=0; i<array.length; i++){
        var objeto=new Option(array[i].campo1, array[i].campo2);
        main.sub.options[i]=objeto;
    }
    main.sub.disabled=false;
    main.sub.focus();
}
function clear(){
    main.sub.length=0;
}
main.sub.disabled=true;
</script>

por cierto en este ejemplo cuando selecciono los valores en los cuadro de lista no me borrar el contenido de los otros text.

Saludos