Ver Mensaje Individual
  #7 (permalink)  
Antiguo 12/05/2009, 02:17
crujikoki
 
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona
Mensajes: 289
Antigüedad: 16 años, 5 meses
Puntos: 8
Respuesta: Duda tonta Javascript

Hola,

Yo creo que si que ntiendo lo que quieres hacer, pero no entiendo por que quieres tener dos selects que tengan las mismas opciones...

Por lo que he entendido, quieres que tu elección en un select superior limite las opciones del siguiente select i así hasta 3 veces. Pues yo para hacer eso te recomiendo AJAX. La cosa es que no se me ocurre otra forma de rellenar un select basándote en la elección de un select anterior sin refrescar la página...

Bueno, quizás podrías cargar todos los datos con el PHP, guardarlos en algún array con javaScript i con un OnChange del primer select mostrar en el siguiente las posiciones del array que tu quieras como opciones del segundo select.

Otra opción podría ser con el PHP pero a parte de que es un poco más engorroso no queda tan elegante!

Si tu duda es exclusivamente saber por que dos selects con el mismo ID no se te muestran las opciones del segundo select, no se que decirte. Quizás lo que está pasando es que rellena dos veces el primero y pasa del segundo.

Yo probaría cambiando esto:

Código PHP:
ItDepend1=document.getElementById('CombDependiente1' );
ItDepend2=document.getElementById('CombDependiente2' );

...

ItDepend1.options.length=0;
ItDepend2.options.length=0;

...

if(!
ItActual){return;}

ItDepend1.options.length=ItActual.length;
ItDepend2.options.length=ItActual.length;

...

for(var 
i=0;i<ItActual.length;i++)
{
ItDepend1.options[i].text=ItActual[i];
ItDepend1.options[i].value=ItActual_ids[i];

ItDepend2.options[i].text=ItActual[i];
ItDepend2.options[i].value=ItActual_ids[i];

Fíjate que he cambiado el nombre de los ID, por lo que en el HTML también tendrás que cambiarlos. No he probado el código ni nada y tampoco se si es la mejor opción, pero así a simple vista diría que tiene que funcionarte.

Cualquier cosa ya sabes!