Foros del Web » Programando para Internet » Javascript »

Select que va a otro select

Estas en el tema de Select que va a otro select en el foro de Javascript en Foros del Web. Buenas, el codigo me funciona, elijo de un select y me muestra la info en el otro, pero luego cuando lo vuelvo a hacer no ...
  #1 (permalink)  
Antiguo 05/08/2013, 17:38
 
Fecha de Ingreso: abril-2012
Mensajes: 47
Antigüedad: 12 años
Puntos: 1
Select que va a otro select

Buenas, el codigo me funciona, elijo de un select y me muestra la info en el otro, pero luego cuando lo vuelvo a hacer no funciona, queda en la primera que me mostro. Espero que se entienda.

Les dejo el codigo.

var s1 = ['seleccione','1','2','3'];
var s2 = ['11','12','13'];
var s3 = ['21','22','23'];
var s4 = ['31','32','33'];
var select1 = document.createElement('select');
var select2 = document.createElement('select');
document.body.appendChild(select1);
document.body.appendChild(select2);

for ( x = 0 ; x < s1.length ; x++) {
var option = document.createElement('option');
option.innerHTML = s1[x];
select1.appendChild(option);
}

select1.onchange = function () {
var contaglobal = [];
var conta = select1.value;
if ( conta == "1"){
contaglobal = s2 ;
} else if ( conta == "2") {
contaglobal = s3;
} else {
contaglobal = s4;
}


for( var o = 0; o < contaglobal.length; o++ ){
var opcion = document.createElement('option');
opcion.innerHTML = contaglobal[o];
select2.appendChild(opcion);
}
}

Muchas Gracias
  #2 (permalink)  
Antiguo 06/08/2013, 03:09
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Select que va a otro select

contaglobal debe ser una variable global, la reinicias dentro de la función pero debes definirla fuera de toda funció...

Creo...

Código Javascript:
Ver original
  1. var s1 = ['seleccione','1','2','3'];
  2. var s2 = ['11','12','13'];
  3. var s3 = ['21','22','23'];
  4. var s4 = ['31','32','33'];
  5. var select1 = document.createElement('select');
  6. var select2 = document.createElement('select');
  7.  
  8. //Inicializació
  9. var contaglobal = new Array();
  10. document.body.appendChild(select1);
  11. document.body.appendChild(select2);
  12.  
  13.  
  14. for ( x = 0 ; x < s1.length ; x++) {
  15. var option = document.createElement('option');
  16. option.innerHTML = s1[x];
  17. select1.appendChild(option);
  18. }
  19.  
  20. select1.onchange = function () {
  21. //Reiniciación
  22. contaglobal = new Array();
  23. var conta = select1.value;
  24. if ( conta == "1"){
  25. contaglobal = s2 ;
  26. } else if ( conta == "2") {
  27. contaglobal = s3;
  28. } else {
  29. contaglobal = s4;
  30. }
  31.  
  32.  
  33. for( var o = 0; o < contaglobal.length; o++ ){
  34. var opcion = document.createElement('option');
  35. opcion.innerHTML = contaglobal[o];
  36. select2.appendChild(opcion);
  37. }
  38. }
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #3 (permalink)  
Antiguo 06/08/2013, 17:19
 
Fecha de Ingreso: abril-2012
Mensajes: 47
Antigüedad: 12 años
Puntos: 1
Respuesta: Select que va a otro select

Gracias, pero sigue sin funcionar. Saludos!!!
  #4 (permalink)  
Antiguo 07/08/2013, 02:30
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: Select que va a otro select

Ahora funciona

Código HTML:
Ver original
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <title>Documento sin t&iacute;tulo</title>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  4. </head>
  5. </body>
  6. <script language="JavaScript" type="text/JavaScript">
  7. var s1 = ['seleccione','1','2','3'];
  8. var s2 = ['11','12','13'];
  9. var s3 = ['21','22','23'];
  10. var s4 = ['31','32','33'];
  11. var select1 = document.createElement('select');
  12. var select2 = document.createElement('select');
  13. //Inicializació
  14. var contaglobal = new Array();
  15. //Agregamos un identificador
  16. select1.setAttribute("id","select1");
  17. select2.setAttribute("id","select2");
  18. document.body.appendChild(select1);
  19. document.body.appendChild(select2);
  20. for ( x = 0 ; x < s1.length ; x++) {
  21.     var option = document.createElement('option');
  22.     option.innerHTML = s1[x];
  23.     select1.appendChild(option);
  24.     }
  25. select1.onchange = function () {
  26.     //Reiniciación
  27.     contaglobal = new Array();
  28.     var conta = select1.value;
  29.     if ( conta == "1"){
  30.         contaglobal = s2 ;
  31.     } else if ( conta == "2") {
  32.         contaglobal = s3;
  33.     } else {
  34.         contaglobal = s4;
  35.     }
  36.     //Eliminamos las opciones anteriores de select 2
  37.     for( var o = 0; o < document.getElementById("select2").options.length; o++ ){
  38.         document.getElementById("select2").remove(0);//Siempre la primera
  39.     }
  40.     //Creamos las nuevas
  41.     for( var o = 0; o < contaglobal.length; o++ ){
  42.         var opcion = document.createElement('option');
  43.         opcion.innerHTML = contaglobal[o];
  44.         select2.appendChild(opcion);
  45.     }
  46. }</script>
  47. </html>
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: select
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 23:23.