Foros del Web » Programando para Internet » Javascript »

Problema con new Option en select

Estas en el tema de Problema con new Option en select en el foro de Javascript en Foros del Web. Hola, Estoy con este código que en función del radio seleccionado, carga un array diferente en el select. Lo que pasa es que si selecciono ...
  #1 (permalink)  
Antiguo 12/05/2012, 04:47
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 11 años, 8 meses
Puntos: 2
Exclamación Problema con new Option en select

Hola,

Estoy con este código que en función del radio seleccionado, carga un array diferente en el select.

Lo que pasa es que si selecciono uno, y luego otro, me los va añadiendo. Y yo quiero que cargue sólo los de la categoría seleccionada. ¿Alguna idea de cómo lo puedo solucionar?

Mil Gracias!!!

Código Javascript:
Ver original
  1. <script language="JavaScript" type="text/javascript">
  2.  
  3. <!--
  4.  Color = new Array("Elige color", "Rojo", "Negro");
  5.  Refresco = new Array("Elige refresco", "Limonada", "Pepsi");
  6.  Coche = new Array("Elige coche", "BMW", "Mercedes");
  7.  
  8. //-->
  9. //encontrar radio seleccionado
  10. function ValorSeleccionadoBotonRadio(ctrl) {
  11.     for(i=0;i<ctrl.length;i++)
  12.         if(ctrl[i].checked) return ctrl[i].value;
  13. }
  14.  
  15.  
  16. function Resultado() {
  17. var Opcion_Elegida;
  18. var categoria;
  19.    
  20.  
  21.     Opcion_Elegida = ValorSeleccionadoBotonRadio(document.f1.opcion_elegida);
  22.  
  23.     if (Opcion_Elegida == "color") { categoria = Color; }
  24.     if (Opcion_Elegida == "refresco") { categoria = Refresco; }
  25.     if (Opcion_Elegida == "coche") { categoria = Coche; }
  26.    
  27.  
  28. for (var i=0; i<categoria.length; i++)
  29. {document.f1.s1.options[document.f1.s1.options.length] = new Option(categoria[i], categoria[i]);}
  30.  
  31. }
  32.  
  33. </script>
  #2 (permalink)  
Antiguo 12/05/2012, 05:48
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años
Puntos: 1011
Respuesta: Problema con new Option en select

prueba cambiando
Cita:
document.f1.s1.options[document.f1.s1.options.length]
por
Cita:
document.f1.s1.options[i++]
de este modo sobrescribes las opciones
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 12/05/2012, 06:06
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Problema con new Option en select

Gracias, pero no funciona... haciendo ese cambio, tan sólo me carga el primer elemento del array + un campo vacio + un undefined
  #4 (permalink)  
Antiguo 12/05/2012, 06:27
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años
Puntos: 1011
Respuesta: Problema con new Option en select

perdona, se me escapo.
prueba ahora
Cita:
document.f1.s1.options[i]
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #5 (permalink)  
Antiguo 12/05/2012, 06:53
 
Fecha de Ingreso: octubre-2011
Mensajes: 36
Antigüedad: 11 años, 8 meses
Puntos: 2
Respuesta: Problema con new Option en select

Funciona perfectamente. Muchas Gracias!!

Etiquetas: option, 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 13:57.