Boa noite!
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('${lookupStatesUrl}', 'paisId', 'ufId')">
<c:forEach items="${listaPaises}" var="pais">
<option value="${pais.id}">${pais.descricao}</option>
</c:forEach>
</select>
</spring:bind>
UfId
<spring:bind path="ufId">
<select id="ufId" onchange="updateSelectOptions('${lookupCitiesUrl}', 'ufId', 'cidadeId')">
<c:forEach items="${listaUfs}" 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="${listaCidades}" var="cidade">
<option value="${cidade.id}">${cidade.descricao}</option>
</c:forEach>
</select>
</spring:bind>
Porque quando eu mudo a seleção na primeira combo, a segunda combo retorna vazia, somente com o valor , declarei na função no Javascript acima?
Tenho quase certeza de que o erro está na última linha da function:for (var i = 0; i< len; i++) {
html += '<option value="' + data[i].id + '">' + data[i].descricao + '</option>';
}
Vocês podem me ajudar?
Agradeço desde já!