Pessoal, estou precisando fazer os famosos combobox aninhados, ou seja,
quando o usuário seleciona um valor em combo pai eu preenche um outro
combo com valores relacionados.
Imagino que tenho fazer isso com ajax, dei uma olha aqui no forum e o pessoal
normalmente usa algum framework. Eu estou usando Struts + JSP + Expression Languages. Gostaria de saber
como posso fazer isso.
Agradeço a ajuda
como usa struts utilize o jQuery. Muito bom! De uma olhada nos links!
http://code.google.com/p/struts2-jquery/
Cara, vlw pelo site.
To dando uma olhada. Assim que der certo coloco como resolvido, ou post qualquer
dificuldade novamente.
abraços
Cara,
qual daqueles arquivos devo adicionar no meu projeto?
E como importo eles na minha página jsp?
Abraços
no mínimo tem que colocar esse: struts2-jquery-plugin-2.3.1.jar
struts2-jquery-grid-plugin-2.3.1.jar - Serve para utilizar o grid
struts2-jquery-richtext-plugin-2.3.1.jar - Serve para o componente de edição de texto.
na JSP:
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
Cara, valeu a ajuda.
Abraços
Vinicius,
você chegou a usar o exemplo do site achei algo exatamente como eu queria indo em
Ajax forms e depois em Ajax Select (doubleselect). No entanto não consegui fazer
funcionar na minha página.
Se puder me ajudar.
Abraços
Pessoal, consegui resolver meu problema.
Descobri que além de adicionar as taglibs
você precisa adicionar essa linha <sj:head jqueryui=“true” locale=“pt” />
no cabeçalho.
Abraços
thiagosf88 Desculpa depois de muito tempo reabrir esse post ,mas você poderia postar a solução por favor.
Cara, eu resolvi assim:
Código da página jsp:
<tr><td>Empresa</td>
<td>
<s:url id="remoteurl" action="dependenciaEmpresa"/>
<sj:select href="%{remoteurl}" id="estagio.idEmpresa"
name="estagio.idEmpresa"
onChangeTopics="reloadsecondlist"
list="map"
headerKey="-1"
headerValue="Selecione a empresa" cssStyle="width: 305px;"/>
</td>
</tr>
<tr><td>Supervisor</td>
<td><sj:select
href="%{remoteurl}"
id="selectWithReloadTopic"
formIds="adicao"
reloadTopics="reloadsecondlist"
name="estagio.idSupervisor" list="map2"
headerKey="-1"
headerValue="Selecione o supervisor" cssStyle="width: 305px;"/></td>
</tr>
Código da Action:
@Actions({ @Action(value = "/dependenciaEmpresa", results = { @Result(name = "sucesso", type = "json") }) })
public String execute() {
map = new HashMap<String, String>();
map2 = new HashMap<String, String>();
new EmpresaDAO().getMap1(map);
if(estagio.getIdEmpresa() != null){
//método que preenche o segundo hasp map de acordo com o valor selecionado no primeiro
new SupervisorDAO().getSupervisorPorEmpresa(estagio.getIdEmpresa(), map2);
}
return "sucesso";
}
Qualquer dúvida é perguntar aqui.
O primeiro combobox(empresa) determina o que vai ser preenchido no segundo. Mas só consegui usando Map.
Abraço