Fórum Selects dinâmicos com Ajax em página JSP (Spring) #392810

20/12/2010

0

Bom dia galera!
Creio que o meu problema seja fichinha para muitos de vocês!
É o seguinte:
Tenho 3 combos: País, Estado e Cidade.
Existe uma tabela no banco para cada uma dessas.E todas estão relacionadas.
O que eu quero? Fazer com que as três sejam ligadas umas às outras, nessa mesma ordem aí.
Por exemplo: Seleciono o País, e automaticamente a 2ª combo é populada com todos os estados daquele país. Seleciono o Estado, e automaticamente a combo Cidade é populada com as cidades daquele estado.
Procurei muito no google, e só achei posts que explicam como fazer isso de modo estático, não de modo dinâmico puxando os dados de um BD. Além do que, os exemplos que encontrei por aí são todos em PHP, linguagem que eu não manjo muito.
Baixei o jQuery, como indicado por muitos sites, já inclui o url apontando para ele no header, mas não sei como gerar a página.
Aqui vão as 3 combos que eu quero 'linkar':
			<tr class="prop">				<td valign="top" class="name"><label for="evento"><spring:message					code="nota.evento.label" />:</label></td>				<td>					<form:select path="eventoId" id="eventoId">						<form:option value="0">Selecione...</form:option>						<form:options items="$" itemLabel="titulo" itemValue="id" />					</form:select>* <form:errors path="eventoId" cssClass="error" />				</td>			</tr>			<tr class="prop">				<td valign="top" class="name"><label for="modulo"><spring:message					code="nota.modulo.label" />:</label></td>				<td>					<form:select path="moduloId" id="moduloId">						<form:option value="0">Selecione...</form:option>						<form:options items="$" itemLabel="titulo" itemValue="id" />					</form:select>* <form:errors path="moduloId" cssClass="error" />				</td>			</tr>			<tr class="prop">				<td valign="top" class="name"><label for="participante"><spring:message					code="nota.participante.label" />:</label></td>				<td>					<form:select path="participanteId" id="participanteId">						<form:option value="0">Selecione...</form:option>						<form:options items="$" itemLabel="nome" itemValue="id" />					</form:select>* <form:errors path="participanteId" cssClass="error" />				</td>			</tr>

Será que vocês poderiam me ajudar?
Agradeço desde já!
Marcelo Gomes

Marcelo Gomes

Responder

Posts

22/12/2010

Davi Costa

vc está restrito a utilização de frameworks?
Me passa um pouco mais de informações sobre quais frameworks usa e se poderia usar algum.
De ante mão vou te adiantar a pesquisar sobre DWR. Acredito que deva ter muitos artigos sobre isso na Devmedia.

Att Davi
Responder

Gostei + 0

22/12/2010

Marcelo Gomes

Opa!
Sim, estou vinculado a utilizar o Spring MVC para este projeto. Quanto à utilização de DWR, vi algo a respeito, mas não me aprofundei muito, crendo eu que haja uma maneiras mais 'crua' de fazer as coisas sem implementar mais nada ao projeto (já uso o jQuery, por exemplo, para algumas funcionalidades dinâmicas no site). Mas se o uso de DWR valer a pena, estou disposto a tentar.
Pode me dar alguma dica?
Tenho simplesmente que mexer na página JSP, ou tenho que mexer nos controllers também, por exemplo?

Eu gostaria simplesmente de linkar os selects, para que filtrassem de acordo com a seleção do select 'pai'.
Responder

Gostei + 0

22/12/2010

Davi Costa

POis sendo assim cara vale a pena usar DWR é bem simples, dependendo da versão fica até fácil a configuração, pois já usa recursos como anottations... pesquisa bem isso aí, pois é bem simples sua utilização.

Att Davi
Responder

Gostei + 0

22/12/2010

Marcelo Gomes

To quase conseguindo resolver a parada, e não usei nada além do jQuery. Quando resolver posto a solução aqui. Estava pensando em fazer um post explicando passo-a-passo como fazer.
Responder

Gostei + 0

23/12/2010

Davi Costa

Show de bola cara!
Excelente iniciativa.

Att Davi
Responder

Gostei + 0

27/12/2010

Dyego Carmo

Utilize JQuery , a solucao é mais simples :)

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar