Preencher combobox com Ajax e VRaptor

9 respostas
drix

Caros colegas,

Estou trabalhando num projeto com VRaptor, e estou com um problema e gostaria da ajuda de todos:
Preciso criar um form de cadastro onde tenho duas combobox, uma para Estados e outra para cidades.
A idéia é:
Quando o visitante selecionar algum valor na Combo Estado, a Combo Cidade irá exibir “Carregando…”, e buscar todas as cidades daquele estado no banco de dados, e após exibi-las dentro da própria combo Cidade. Sem precisar dar o refresh na página, somente no componente (AJax).

O que sugerem?
JQuery e JST dão contam? Como fazem isto usando o Framework VRaptor?

9 Respostas

drix

Caros colegas.

Estou tentando resolver com o JQuery e jqueryselectcombo.
Ainda não consegui… estou na luta :wink:

Caso queiram estudar também, vejam em:

http://code.google.com/p/jqueryselectcombo/

também

http://tmferreira.com.br/blog/index.php?s=combo+cidade+país&submit=

Por favor, caso alguém tenha conseguido. Me ensinem como…

Pedrosa

Também é possível resolver com o Prototype algo parecido com exemplo do Site do VRaptor:

http://www.vraptor.org/pt/ajax.html

Crie uma div para essa combo no evento de onComplete: chama a função que monta sua 2º combo com o resultado em JSON.

function showResponse(data) {
    //get the jsonObject
    var jsonObject = eval('(' + data.responseText + ')');
    //get the user array from the json object
    var users = jsonObject.users;
    //update html
    var html = "";
     html += "<select name='xpto'>" ;
     for(i=0;i<users.length;i++) {
         html += "<option value='"+user.id +"'>"+user.desc+"</option>";                         
     }
     html += "</select> " ;
     var div = document.getElementById("ajaxResultDiv");
     div.innerHTML = html;
}
drix

Humm. perfeito…
Como deve ser meu JSP? Como devo escrever o código?

Pedrosa

Simples na primeira combo você chama sua função que retorna a lista JSON

<select name="combo1" onChange="funcao1();">
    ...
</select>
<div id="xpto">

Se a lista retornar corretamente essa função aciona uma outra função definida no evento onComplete que deve montar o conteúdo da div declarada, conforme o exemplo mencionado.

H

Segui cada passo da documentação do vRaptor, só que ainda não consegui obter nenhum sucesso. E o pior é que não acontece nada.

Será que neste tutorial, está faltando alguma informação que possibilite , obter algum sucesso.

Pedrosa

Você adicionou js do prototype?, use o bugzila do firefox com ele você consegue monitorar os resultados.

H

Consegui montar o campo <select> , sem precisar de um DIV , obrigado pela ajuda.

Postarei a solução no final do dia neste , endereço : http://hugov-manjava.blogspot.com/

juniorsatanas

Amigo, estou tentando fazer o seu exemplo mais não está dando certo… poderia manda para eu da uma olhda onde estou errando ? [email removido]
10 horas de trabalho nisso e nada ainda !
abraço bom fim de semana,

robinsonbsilva

Bom dia senhores,

Desculpe por retornar a esse assunto, mas estou tendo um problema semelhante…
Eu gostaria de sabel como foi codificado o “modelo.prepareListaEstado.ajax.logic”.??

Ele retorna uma List ?? qual o retorno deste método??

Eu estou adaptando seu exemplo para Struts 1.3…

Desde já agradeço!

Criado 20 de setembro de 2007
Ultima resposta 24 de set. de 2008
Respostas 9
Participantes 5