Foros del Web » Programación para mayores de 30 ;) » Java »

combos dependientes usando jsp y struts 2

Estas en el tema de combos dependientes usando jsp y struts 2 en el foro de Java en Foros del Web. Hola a todos, Espero puedan ayudarme con este problema. Lo he buscado en la Web pero parece que las tecnologías descritas no se aplican a ...
  #1 (permalink)  
Antiguo 24/04/2010, 19:38
 
Fecha de Ingreso: abril-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
combos dependientes usando jsp y struts 2

Hola a todos,

Espero puedan ayudarme con este problema. Lo he buscado en la Web pero parece que las tecnologías descritas no se aplican a mi caso. Quisiera saber si es posible cargar un combobox a partir de otro (obteniendo los datos de una BD) usando Struts2 y jsp.

Si no es posible, ¿Otra opción es usando Ajax y Struts2? Si es así, ¿tienen códigos de ejemplo?

En realidad, no he podido lograr nada con Struts así que traté de jugar con javascript. Acá está mi código pero puede que no sea tan claro


En mi jsp tengo 2 combos. Uno con struts y el otro no
Código:
<table><tr><td><s:select name="cbxProyecto" headerKey="-1" list="listaProyectos" listValue="strNombre" listKey="{intIdProyecto}" onchange="populate(this,actividades_valores,actividades_valorespadre,actividades_nombres)"></s:select></td></tr></table></td>
                <td><table><tr><td><select name="ComboActividades" id="ComboActividades"></select></td></tr></table></td>
Luego en el javascript defino mi función populate llamada con onChange
Código:
function populate(o,actividades_valores,actividades_valorespadre,actividades_nombres) {
          var valor_padre=o.options[o.selectedIndex].value;
          if(!valor_padre){return;}
          var hijo=document.getElementById('ComboActividades');
          if(!hijo){return;}
          hijo.options.length=0;
          var indice=0;

          for(var i=0;i<actividades_valorespadre.length;i++) {
            if (actividades_valorespadre[i]==valor_padre)
                  {
                    indice=indice+1;
                  }
          }

          hijo.options.length=indice;
          indice=0;

          for(var z=0;z<actividades_valorespadre.length;z++) {
            if (actividades_valorespadre[z]==valor_padre)
                  {
                    hijo.options[indice].text=actividades_nombres[z];
                    hijo.options[indice].value=actividades_valores[z];
                    indice=indice+1;
                  }
          }

        }
Esto no funciona. La razón es que los arreglos (ArrayList) "actividades_valores,actividades_valorespadre y actividades_nombres" se definen en el action (clase java) pero el javascript no los recibe.

¿Alguna otra forma de hacer esto con Struts 2 y jsp? ¿Estoy por el buen camino?

Muchas gracias de antemano

Etiquetas: combos, dependientes, jsp, struts
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:13.