Select dependente com Struts e Ajax
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>
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.
Curtidas 0
Respostas
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 ?
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.
13/01/2010
No caso estou usando struts 1 ... se puder me mandar um codigo de exemplo, ficaria agradecido.
Obrigado,
Obrigado,
GOSTEI 0
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!
Fico no aguardo!
GOSTEI 0
Cleiton Tavares.
13/01/2010
Obrigado.
Estou no aguardo do código.
Estou no aguardo do código.
GOSTEI 0
Dyego Carmo
13/01/2010
Olá Cleiton,
segue o link:
http://video.devmedia.com.br/discovirtual/202707/ExemploDevmediaStruts1.zip
GOSTEI 0
Cleiton Tavares.
13/01/2010
Obrigao Dyego,
Valew mesmo cara ...
Abraço
Valew mesmo cara ...
Abraço
GOSTEI 0
Dyego Carmo
13/01/2010
esteja a vontade !!!
Estarei fechando este chamado :)
Estarei fechando este chamado :)
GOSTEI 0