Foros del Web » Programando para Internet » Javascript »

funcion para mostrar select de varios niveles

Estas en el tema de funcion para mostrar select de varios niveles en el foro de Javascript en Foros del Web. Hola a todos Tengo el siguiente problema, tengo dos select que dependen el uno del otro y los datos salen de los correspondientes arrays y ...
  #1 (permalink)  
Antiguo 15/07/2014, 17:10
 
Fecha de Ingreso: enero-2014
Mensajes: 91
Antigüedad: 10 años, 3 meses
Puntos: 2
funcion para mostrar select de varios niveles

Hola a todos

Tengo el siguiente problema, tengo dos select que dependen el uno del otro y los datos salen de los correspondientes arrays y tengo una función para ello, pero el problema es que tal como tengo la función, sólo es válida para dos select y yo necesito que sea válida para un tercero o un cuarto

Código Javascript:
Ver original
  1. var datos = new Array();
  2. datos = [['- Elije una opción -'],
  3. ['deportes'],
  4. ['musica'],
  5. ['cine']];
  6.  
  7. function cambiarDesple(){  
  8.   var despleCat = document.getElementById("despleCat");  
  9.   for (var i = 0; i < datos.length; i++) {     
  10.     despleCat.options[i] = new Option (datos[i][0]);   
  11.     despleCat.options.value = datos;
  12.     despleCat.options.text = datos;
  13.    }
  14. }
  15.  
  16. subCat1 = new Array();
  17. subCat1[0] = new Array();
  18. subCat1[1] = new Array('Balonmano','Baloncesto','Fútbol');
  19. subCat1[2] = new Array('Mendelson','Vivaldi','Mozart');
  20. subCat1[3] = new Array('Antonio Banderas','Benizio del Toro');
Lo que necesito es que el select1 y el select2 vayan variando en función del formulario sobre el que haya hecho la selección, si pincho sobre una opción del primer select, sería select1 y select2 como está ahora, pero si pincho en una opción del select2 las variables tendrían que cambiar a select2 y select3
Código Javascript:
Ver original
  1. function cambiar(formulario){
  2.   var i = 0;
  3.   var select1 = formulario['D1'];
  4.   var select2 = formulario['D2'];
  5.   var vector = subCat1[select1.selectedIndex];
  6.   if(vector.length)select2.length=vector.length;
  7.   while(vector[i]){
  8.     select2.options[i].value = vector[i];
  9.     select2.options[i].text = vector[i];
  10.     i++;
  11.   }
  12. }
Código HTML:
Ver original
  1. <table align="left">
  2.     <tr>
  3.       <td width="150">
  4. <form method="POST">
  5.   <select id="despleCat" name="D1" onchange="cambiar(this.form)">>
  6.   <option></option>
  7.   </select>
  8.   </td>
  9.   <td>
  10.   <select id="D2" name="select2">
  11.   <option>--------------------</option>
  12.   </select>
  13. </form>
  14.       </td>
  15.     </tr>
  16.   </table>

Etiquetas: formulario, funcion, niveles, select, variable
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 13:29.