Select list dinamico!

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…

Você está usando jsf?

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.

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

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

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 = ?