Select dependente com Struts e Ajax

13/01/2010

Boa tarde,

Gostaria de implementar em meu projeto um <html:select> dependente de outro <html:select>.

Utilizo o action abaixo para acessar a capgina de cadastros ou efetuar o cadastro dependendo do method do request .... se o metodo for != POST ele me envia para a pagina de cadastro e seta no request algumas listas que utilizo para preencher outros selects ... 


public class CadastroControleEmpresa extends Action {   
   
   
    public ActionForward execute(ActionMapping mapping, ActionForm  form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
       
        String resp= "";
        ClienteDao cd = new ClienteDao();
        ReparticaoDao rd = new ReparticaoDao();       
       
        try{
       
            if(request.getMethod()!="POST"){
               
            List listaCli = cd.todosClientes();
            List listaRep = rd.todasReparticoes();
           
                            
            request.setAttribute("listaCli",listaCli);
            request.setAttribute("listaRep",listaRep);           
            resp="redireciona";
                       
                
            }else{

            //metodo para cadastrar
           
        }
           
        }catch(Exception e){
        request.setAttribute("erro",e.getCause());
        resp="erro_geral";
        }
       
        return mapping.findForward(resp);
       
    }
}


na minha pag .jsp de cadastro tenho 2 selects. Gostaria que o valor do segundo select fosse dependente do valor do primeiro.

Já tenho um metodo pra isso, mas não sei como implementar. De preferencia, gostaria que fosse feito com ajax


                     Repartiçao emissora* <html:select property="reparticao.reparticao_cod" styleId="repcod">
                    <html:option value="Selecione">Selecione</html:option>
                    <c:forEach var="r" items="$">
                       <html:option value="${r.reparticao_cod}">${r.nome} - ${r.apelido}</html:option>
                    </c:forEach>   
                    </html:select><br/>


                     Documento* <html:select property="doc.doc_cod" styleId="doccod">
                        <html:option value="Selecione">Selecione</html:option>
                    <c:forEach var="d" items="$">
                       <html:option value="${d.doc_cod}">${d.doc}</html:option>
                    </c:forEach>
                    </html:select>
Cleiton Tavares.

Cleiton Tavares.

Curtidas 0

Respostas

Dyego Carmo

Dyego Carmo

13/01/2010

Na realidade , isto voce soh vai conseguir fazer utilizando javascript mesmo... provavelmente vai precisar tambem utilizar ajax (para nao ficar dando submit para a action) , retornando dados em JSON e fazendo parse para incluir no combo de sub-itens...

Isto no Struts2 é bem chato e manual... mas eu vou fazer um exemplo aqui... mas vou precisar de mais tempo do que de custume para deixar a coisa bem didatica :)

Pode Ser ?

GOSTEI 0
Cleiton Tavares.

Cleiton Tavares.

13/01/2010

No caso estou usando struts 1 ... se puder me mandar um codigo de exemplo, ficaria agradecido.

Obrigado,

GOSTEI 0
Dyego Carmo

Dyego Carmo

13/01/2010

Moderação , estou com o codigo que o Clietne deseja , prontinho , preciso de instrucoes de como enviar via DISCO VIRTUAL...

Fico no aguardo!
GOSTEI 0
Cleiton Tavares.

Cleiton Tavares.

13/01/2010

Obrigado.
Estou no aguardo do código.
GOSTEI 0
Dyego Carmo

Dyego Carmo

13/01/2010

Olá Cleiton, segue o link: http://video.devmedia.com.br/discovirtual/202707/ExemploDevmediaStruts1.zip
GOSTEI 0
Cleiton Tavares.

Cleiton Tavares.

13/01/2010

Obrigao Dyego,

Valew mesmo cara ...

Abraço
GOSTEI 0
Dyego Carmo

Dyego Carmo

13/01/2010

esteja a vontade !!!

Estarei fechando este chamado :)
GOSTEI 0
POSTAR