Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/09/2006, 03:46
Hadesll
 
Fecha de Ingreso: septiembre-2006
Mensajes: 4
Antigüedad: 17 años, 8 meses
Puntos: 0
Selects cascada y arrays bidimensionales

Buenas, hace poco que he empezado con javascript y la programación en general y más o menos me voy desenvolviendo. El problema es que he estado intentando usar java en mi web para que dependiendo de lo que el usuario seleccione en un select/option/lista desplegable o como se llame, yo los llamo select , otro select se llene de datos dependiendo de lo que el usuario haya elegido, y cogiendo estos datos de un array bidimensional.
Para hacernos una idea mejor, supongamos que en el select inicial pongo una lista de equipos de futbol para elegir, Barcelona, Real Madrid, Betis...y más abajo, tengo otro select donde quiero que aparezcan los nombres de los jugadores del equipo que he elegido. Los nombres los buscare dentro de un array bidimensional llamado Jugadores que he estructurado de esta manera:

Jugadores = new Array();
Jugadores =[
[0,0,9,3,"Ronaldo"],
[1,1,10,3,"Etoo"],
[2,1,8,2,"Ronaldinho"],
];
NoJugadores = 3

El primer numero es la ID k le dare al jugador y donde le dare su value para poder trastear con otros objetos y los datos en su mismo vector...el segundo representara al equipo al k pertenece (0 Real Madrid, 1 Barcelona...), el tercero el número, el cuarto la posición (3 Delantero p.ej.) cuarto el nombre...
Pues bien, como dije lo que quiero es que al coger Real Madrid en el select de arriba, abajo me salga el nombre de todos los jugadores con un 0 en la segunda posición de los arrays, y que su value sea el que viene como primer numero en el array. Hasta ahora lo he estado abordando de la siguiente manera, pero no entiendo por qué no consigo hacerlo funcionar. Suponiendo que a Real Madrid lo tengo en el value = 0 y a Barcelona = 1, introduzco lo siguiente:

j=0
if (document.formulario.equipos.value = 1){
for (i=0;i<=NoJugadores;i++){
if (Jugadores[i][1]=1){document.formulario.jugadores.options[j]=new Option(Jugadores[i][4],Jugadores[i][0]);}}}

Esto seria para elegir si es Barcelona. Para Real Madrid irían siguiendo formulas igual pero igualando a 0, etc.. La cosa,es que esto no me funciona, aparecen los nombres en los select pero no se dejan seleccionar, y no entiendo el por qué. Además al ir cambiando a veces se van acumulando montones de nombres.
Una ayudita? ;)
Saludos y perdón, creo que me excedido en longitud del mensaje :P