Tenho uma página JSP (visão - formulário) que possui 2 combos. Estou precisando popular o segundo combo que tem como parâmetro o primeiro.
Quando escolho uma opção no primeiro combo o segundo é preenchido. Por exemplo, ao escolher o primeiro combo “Estado” o segundo combo “Cidade” seja preenchido com as Cidades daquele Estado. Porém, os estados e as cidades estão armazenadas no Banco de Dados. Ou seja, quando escolher o estado RJ ele deve ir no Banco e buscar as cidades cadastradas do estado RJ.
O segundo combo somente será preenchido quando for selecionado o primeiro combo.
Já fiz algo como isto aí. Você pode criar o primeiro combox que tenha a propriedade onChange que submete o formulário para o mesma página e o segundo combox é exibido como desabilitado quando o parâmetro do primeiro for nulo e quando for diferente de nulo executa uma função. Só uma coisa não se esqueça de ler todos os dados do formulário novamente, senão o cliente vai perder os dados.
Tenho uma página JSP (visão - formulário) que possui 2 combos. Estou precisando popular o segundo combo que tem como parâmetro o primeiro.
Quando escolho uma opção no primeiro combo o segundo é preenchido. Por exemplo, ao escolher o primeiro combo "Estado" o segundo combo "Cidade" seja preenchido com as Cidades daquele Estado. Porém, os estados e as cidades estão armazenadas no Banco de Dados. Ou seja, quando escolher o estado RJ ele deve ir no Banco e buscar as cidades cadastradas do estado RJ.
O segundo combo somente será preenchido quando for selecionado o primeiro combo.
Como criar este esquema?
Obrigado.
Crie um função que realizará um Submit na própria página passando o estado:
A partir daí você já tem o estado que o usuário escolheu, então é so realizar a consulta em cima deste dado:
select * from cidades where uf = 55
ok ?
:wink:
M
MPSVPJ
Pessoal já agradeço pelas respostas dos nobres amigos.
Duas perguntas (?):
O formulário já está dando um Reload() no Onchange do combo 1 (estado), ou seja, chamando ele mesmo. Porém, estou trabalhando com sessão e toda URL tenho que reescrever com o response.encodeURL. Este response.encodeURL não funciona no JavaScript. Como eu posso reencrever a URL passando o número da sessão???
Não consegui colocar o 2º combo desabilitado. O código abaixo está correto??
function atualizaFormulario()
{
form.action = "SuaPagina.jsp?idSession=<%=recupereAquiIdDaSessao%>";
form.submit();
}
e a segunda você fez coisa errada, e também para usar isto tens que estar utilizando jstl, caso queira dar uma olhada aqui no pj tem um tutorial e o código é o seguinte: