Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/04/2011, 01:40
lordblackred
 
Fecha de Ingreso: abril-2011
Mensajes: 13
Antigüedad: 13 años
Puntos: 1
Respuesta: Select dependientes sin JS? php y postgresql

Gracias por tu respuesta elmaspicudo!

Lo que apsa que sigue sin irme!!! no sé, quizás le esté dando tantas vueltas a la tontería ésta que la solución escapa de mis ojos!! aunque sea tan evidente!! jaja

A ver en un principio puse tu código donde tengo el otro, en php, donde añado en el select provincias las provincias... luego epnsando... será en el javascript? porque claro si creo un array... (aunque intenté pasarle por el método cambiar el vector que supuestamente se crea, pero nanai... los '2chos' no me muestran nada, si los pongo fuera me muestra algo raro xD

Total un lio jaja, A ver si me puedes echar otro cablecitooo, mira, suponiendo que el código php lo meta donde te dije la 1º vez... te lo pego a ver qué puede estar mal.. y luego de nuevo el codigo js, donde verás que en teoría le paso el vector que creo en php, porque... se peude hacer no? pasarle a js un vector que creé en php...

P.D: Lo de que no es muy práctico a qué te referías? a tener el js en el mismo archivo? si es así lo sé, ya lo cambiaré pero cuando me funcione, es por trabajar más "cómodo" xD

Código PHP:
<b>Provincia:*</b>
<select name ="provincias" onchange="cambiar(this.form, <?php $vector ?>)">
<?php 
    $res 
provincias($con);
    
$provincia 0;
    for (
$i 0$i <pg_num_rows($res); $i++) {

      
$fila pg_fetch_array($res$i);    
      
$provincia $fila['provincia'];?> 
      <option value = "<?php $provincia ?>"><?php echo "$provincia"?> </option>
    <?php
    

echo "provincias[$i] = new Array();";
$res2 municipios ($con$provincia);
$arr="Array(";
for (
$j 0$j <pg_num_rows($res2); $j++) {

$fila2 pg_fetch_array($res2$j);    
$municipio $fila2['municipio'];

$arr2"'".$municipio."',";

}
$arr2 substr ($arr20strlen($arr2) - 1);
echo 
$arr.$arr2.");";
$vector $arr.$arr2;

    
    
?>
</select>
<b>Localidad:*</b>
<select name ="municipios">
 
 <option>  </option>
</select>
Código Javascript:
Ver original
  1. <script languaje="JavaScript">
  2. <!--
  3. //provincias = new Array();
  4. //provincias[0] = new Array();
  5. //provincias[1] = new Array('Almería','Cádiz','Córdoba','Granada','Huelva','Jaén','Málaga','Sevilla');
  6. //provincias[2] = new Array('Huesca','Teruel','Zaragoza');
  7. //provincias[3] = new Array('Asturias');
  8. //provincias[4] = new Array('Baleares');
  9. function cambiar(formulario, vector2[]){
  10.  
  11.   var i = 0;
  12.   var select1 = formulario['provincias'];
  13.   var select2 = formulario['municipios'];
  14.   var vector = vector2[select1.selectedIndex];
  15.   if(vector.length)select2.length=vector.length;
  16.   while(vector[i]){
  17.     select2.options[i].value = vector[i];
  18.     select2.options[i].text = vector[i];
  19.     i++;
  20.   }
  21.   select2.options[0].selected = 1;
  22. }
  23. </script>