Foros del Web » Programando para Internet » Javascript »

ComboBox anidado

Estas en el tema de ComboBox anidado en el foro de Javascript en Foros del Web. Hola buenas, aunque es mi primer post he estado largo tiempo leyendo en los foros informacion muy interesante para solucionar mi problema. He conseguido, con ...
  #1 (permalink)  
Antiguo 10/04/2008, 11:44
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Sonrisa ComboBox anidado

Hola buenas, aunque es mi primer post he estado largo tiempo leyendo en los foros informacion muy interesante para solucionar mi problema. He conseguido, con ayuda de esta pagina, tener dos combobox anidados, es decir, dependiendo de la opcion que seleccione en el primero se activan unas opciones en el segundo. Todas cargadas desde una base de datos con php. Ahora bien, el primer combobox tiene 2 opciones y el segundo combobox tiene 3 opciones para cada una de las dos anteriores, en total 6. Pues para cada una de ellas queria hacer que escribiera en un simple recuadro un numero diferente. Ej:
if (Combobox1 opcion1 selected && Combobox2 opcion2 selected)
then write 50
else if (Combobox1 opcion1 selected && Combobox2 opcion3 selected)
then write 60

Se que no es codigo correcto pero explica bien lo que quiero decir. Aqui abajo pongo el codigo a ver si podeis ayudarme. Gracias in advance.


Código PHP:
<?php
$server
="localhost";
$user="root";
$pass="";
$coneccion=mysql_connect($server,$user,$pass);
mysql_select_db("prueba");
$sql_padre="select * from tabla_padre order by item_texto asc";
$sql_hija="select * from tabla_hija order by id_padre asc";
$sql_speed="select * from tabla_speed order by id_hija 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);">
        <?php
            $query
=mysql_query($sql_padre);
            while(
$row=mysql_fetch_array($query)){
                print(
"<option value=\"$row[id]\"");
                print (
"selected");
                print(
">$row[item_texto]</option>\n");
            }
        
?>
    </select>
    <select name="sub">
    </select>
</form>
<script lang="jscript">
function valores(campo1,campo2){
    this.campo1=campo1;
    this.campo2=campo2;
}
<?php
$query_s
=mysql_query($sql_hija);
$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";
    
$indice=$indice+1;
}
?>
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>
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 07:40.