Select list dinamico!

5 respostas
carlos_chea

Pessoal… Estou precisando de exemplos de como fazer dois combobox que sejam dinamicos…
No meu caso é um combobox de estado e outro de cidade… Estes dados estão em um banco de dados…

quando o usuário escolhe um estado o outro combobox so vai ter cidades deste respectivo estado…

Tentei pesquisar na net e só achei exemplos em php… O pessoal tava usando jquery, mais ñ pequei a essência de como eu poderia fazer em jsp…

5 Respostas

juno.rr

Você está usando jsf?

leandronsp

Uma solução:

  • quando escolher o Estado, você terá que fazer a busca das cidades via AJAX (para alguma action do teu sistema) e popular o select, tudo com JQuery:
var estado = $("#estado")
var cidade = $("#cidade")

estado.change(function() {
    $.getJSON("/seuController/getCidades?estado=" + this.val(), function(data) {
       cidade.append("<option value='' selected='selected'></option>");
       $.each(data, function(key, val) {
          cidade.append('<option value="' + val["name"] + '">' + val["name"] + '</option>'); 
          // usando val["name"], mas depende de como sua action devolve o json, e seria interessante sua action devolver um json
       })
    });
});

A ideia é esta, dá pra deixar mais bonito e tal, você vai precisar limpar o select de cidades, reiniciar ele, mas deixo isso pra você. O principal de como se fazer está aí.
É muito importante dar uma olhada sempre na documentação do JQuery.

leandronsp

ah, e isso não tem nada a ver com jsp ou whatever. É JS e JQuery, independente do template.

carlos_chea

mas eu não tenho de ir no banco pegar os valores das cidades não? tenho q usar ajax pra isso???

leandronsp

via ajax você acessa teu controller que acessa de alguma forma o banco de dados, fazendo a query :slight_smile:

no final das contas:

select * from cidades where estado = ?
Criado 31 de dezembro de 2011
Ultima resposta 3 de jan. de 2012
Respostas 5
Participantes 3