Anhaya
Novembro 28, 2013, 3:54pm
#1
tenho a seguinte linha:
até ai blz, ele carrega as cidades mediante ao estado selecionado…
porém, depois do combo preenchido, preciso percorrer o mesmo, sendo assim, necessito do tamanho do combo:
Ai é que esta o problema, ele sempre pega o tamanho um, que é o tamanho de antes do preenchimento do combo.
Alguém tem alguma ideia?
Não tem nada a ver.
O select (elemento que você chama de combo box) tem o tamanho (length) 1.
O que varia são as opções (elementos option) que existem dentro dele. Estas é que vão indicar o total de opções da “combo box”.
Anhaya
Novembro 29, 2013, 10:03am
#3
? da na mesma, o que estou querendo dizer, é que ele esta pegando o numero de opções OU o tamanho do combo antes da atualização do evento
.load().
Att
Anhaya
Novembro 29, 2013, 10:17am
#4
no final das contas troquei o evento .load() para isso aqui:
Caso alguém algum dia precise…
/CHAMAR SERVLET PARA PREENCHIMENTO DO COMBOBOX /
var idEstado = $('#cmbListaEstado').val();
$.ajax({
url: 'ServletController',
type: 'POST',
data: {"idEstado":idEstado},
success : function(data) {
$('#cmbListaCidade').remove('option');
$('#cmbListaCidade').append(data.toString());
alteraCidade();
}
});
/SELECIONAR ITEM ESPECÍFICO DO COMBO PREENCHIDO /
var objCidade = document.getElementById('cmbListaCidade');
for (var j = 0; j < objCidade.length; j++)
{
if (objCidade.options[j].value == cidade)
{
objCidade.selectedIndex = j;
}
}
Servlet-----
StringBuilder retorno = new StringBuilder();
for (Cidade c : listaCidade) {
retorno.append("<option value='" + c.getCD_CIDADE() + "'>");
retorno.append(c.getDS_CIDADE() + "</option>");
}
response.setContentType("text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(retorno.toString());
Att.