Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/04/2009, 11:51
Avatar de syntex
syntex
 
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 22 años, 5 meses
Puntos: 4
Cambiar 4 select dependiendo de ellos

Hola foreros tengo una duda estoy haciendo un select que dependiendo de uno cambia al otro en javascript, pero solo me cambia de uno al otro y me interesaria 4

dependiendo de 1 al otro y despues dependiendo de ese otro y otro más hasta 4 que es el úsltimo

Dejo el script en javascript para que me ayuden hacer el script para 4 selects

Código PHP:
<html>
 <head>
  <title>
   FAQ-1: Selects
  </title>
<?
// ******** JAVASCRIPT *****
/*
    var select1 = formulario['aa4']; // formulario 1
      var select2 = formulario['aa5']; // formulario 2
*/ 
echo"
<script languaje=\"JavaScript\">
<!--
provincias = new Array();
provincias[0] = new Array();\n"
;
    
$R mysql_query("SELECT * FROM categorias ORDER BY categoria ASC",$conexion);
    while (
$RR mysql_fetch_array($R)){
    echo 
"provincias[".$RR[id]."] = new Array(";
        
$R1 mysql_query("SELECT * FROM subcategorias WHERE (categoria='$RR[id]') ORDER BY subcategoria ASC",$conexion);
        while (
$RR1 mysql_fetch_array($R1)){            
            
$ZZx++;
            if (
$ZZx == 1){echo"'$RR1[subcategoria]'";}else{echo",'$RR1[subcategoria]'";}
            
        }
        
mysql_free_result($R1);
        echo
");\n";$ZZx=0;
    }
    
mysql_free_result($R);
echo
"
function cambiar(formulario){
  var i = 0;
  var select1 = formulario['aa4'];
  var select2 = formulario['aa5'];
  var vector = provincias[select1.selectedIndex];
  if(vector.length)select2.length=vector.length;
  while(vector[i]){
    select2.options[i].value = vector[i];
    select2.options[i].text = vector[i];
    i++;
  }
  select2.options[0].selected = 1;
}
-->
</script>
"
;
// *************************
?>

 </head>
 <body>
  
<form method="POST">
                  <select name="aa4" style="width:250px;" <? echo $Xa4?> onchange=" cambiar(this.form) ">
                    <option value="">Seleccionar</option>
                    <?
                    $R 
mysql_query("SELECT * FROM categorias ORDER BY categoria ASC",$conexion);
                    while (
$RR mysql_fetch_array($R)){
                    if (
$_POST[aa4] == $RR[id]){$FH1="selected";}else{$FH1="";}
                    echo
"<option value=\"$RR[id]\" $FH1>$RR[categoria]</option>";
                    }
                    
mysql_free_result($R);
                    
?>
                </select>
 
 
                     <select name="aa5" style="width:250px;" <? echo $Xa5?>>
                    <? if ($_POST[aa5] == ""){
                        echo
"<option>--</option>";
                    }else{
                        
                    
$R2 mysql_query("SELECT * FROM subcategorias WHERE (categoria = '$_POST[aa4]')",$conexion);
                    while (
$RR2 mysql_fetch_array($R2)){
                    if (
$_POST[aa5] == $RR2[subcategoria]){$FH2="selected";}else{$FH2="";}
                    echo
"<option value=\"$RR2[subcategoria]\" $FH2>$RR2[subcategoria]</option>";
                    }
                    
mysql_free_result($R2);
                    } 
?>
                </select> </p>
</form>

 </body>
</html>
como podeis ver solo hay un select que varia dependiendo del otro pero necesito 2 más

1 SELECT (PRINCIPAL)
2 SELECT (VARIA SOBRE EL 1)
3 SELECT (VARIA SOBRE EL 2)
4 SELECT (VARIA SOBRE EL 3) FINAL

Gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------