Fórum Javascript é executado mas não popula segunda combo #392981

22/12/2010

0

Boa noite!
Antes de mais nada, procurei um fórum adequado onde postar esse quesito, mas não encontrei. E já que o meu projeto é em Spring MVC, decidi postar o meu problema, que é na verdade Javascript, aqui.

Tenho o seguinte javascript:
function updateSelectOptions(lookupUrl, parentSelectElementId, childSelectElementId) {    var parentSelectRef = jQuery('#' + parentSelectElementId);    var childSelectRef  = jQuery('#' + childSelectElementId);
    jQuery.getJSON(lookupUrl,        {paisId: parentSelectRef.val()},         function(data) {            var html = '<option value="">Selecionar...</option>';            var len = data.length;            for (var i = 0; i< len; i++) {                html += '<option value="' + data[i].id + '">' + data[i].descricao + '</option>';            }
            childSelectRef.html(html);        }    );}

que uso para aninhar as seguintes combos:
PaisId
<spring:bind path="paisId"> <select id="paisId" onchange="updateSelectOptions('$', 'paisId', 'ufId')">  <c:forEach items="$" var="pais">   <option value="${pais.id}">${pais.descricao}</option>  </c:forEach> </select></spring:bind>

UfId
<spring:bind path="ufId"> <select id="ufId" onchange="updateSelectOptions('$', 'ufId', 'cidadeId')">  <c:forEach items="$" var="uf">   <option value="${uf.id}">${uf.descricao}</option>  </c:forEach> </select></spring:bind>

CidadeId
<spring:bind path="cidadeId"> <select id="cidadeId">  <c:forEach items="$" var="cidade">   <option value="${cidade.id}">${cidade.descricao}</option>  </c:forEach> </select></spring:bind>

[b]Porque quando eu mudo a seleção na primeira combo, a segunda combo retorna vazia[/b], somente com o valor <option value="">Selecionar...</option>, declarei na função no Javascript acima?

Quem manja um pouco de javascript poderia me ajudar?
Agradeço desde já!
 
Marcelo Gomes

Marcelo Gomes

Responder

Posts

27/12/2010

Dyego Carmo

Instale o FIREBUG em seu browser , a tambem a ferramenta de WEBMASTERS do firefox... execute o seu codigo e cole aqui o erro que aparece de javascript...

fica mais claro para podermos ajudar.

Responder

Gostei + 0

27/12/2010

Marcelo Gomes

Opa!
Na verdade não acontece erro nenhum!
Quando eu mudo o valor da primeira combo, o resultado do console do Firebug é:
GET http://localhost:8080/Portal/tipolocalizacaoevento/lookupStatesWithinCountry?paisId=100 200 OK 451m
Ou seja, o GET funcionou, mas quando vou em Resposta, o valor é:
[]
Suponho eu que seja uma array vazia.
Existe algum teste que eu possa fazer pra ver se realmente os dados estão vindo? Tipo verificar se a NamedQuery está realmente retornando valores ou está vindo vazia?
Responder

Gostei + 0

27/12/2010

Davi Costa

Marcelo,

coloca um break point no trecho de código das classes java que execulta essa sua consulta p ver se realmente está sendo executado.

Att Davi
Responder

Gostei + 0

11/01/2011

Dyego Carmo

Opa !

Deu certo ?
Responder

Gostei + 0

11/01/2011

Marcelo Gomes

  Opa! To preparando um artigo sobre isso. Resolvi sim, depois posto aqui. Valeu!
Responder

Gostei + 0

26/01/2011

Dyego Carmo

Legal !!!

Fecha o post por favor !

Responder

Gostei + 0

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

Aceitar