Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, eu estou com um rotina que atualiza o input´s com um retorno do jquery sem dar refresh na página.
assim:
<input type="button" name="localizar" id="localizar" value="Localizar" class="btn" />
<input type="text" name="nome" id="nome" class="nomePaciente" value="" />
<select name="estadoCivel" id="estadoCivil" class="estadoCivil">
<option value="C">Casado</option>
<option value="S">Solteiro</option>
<option value="D">Divorciado</option>
<option value="O">Outros</option>
</select>
<script type="text/javascript">
$("#localizar").live("click", function(){
$.getJSON('nav/json.php?tipoPesquisa='+$("#clientes").val(),function(json){
$('#nome').val(json.cliente);
$('#estadoCivil').val(json.estadoCivil);
});
})
</script>
em json.php
// faz a seleção dos dados
$dados['cliente'] = $clienteNome;
$dados['estadoCivil'] = $clienteEstadoCivil;
echo json_encode($dados);
Todos os input´s são atualizados corretamente, mas o select não, como faço a atualização no select ?Consegui fazer assim:
if (json.clienteEstadoCivil == 'S'){
$("#estadoCivil option").each(function(){
if ($(this).val() == 'S'){
$(this).attr('selected', true);
}
})
}
Vlw, muito obrigado
tem um exemplo com jquery http://www.blogalizado.com.br/popular-um-select-combo-com-jquery-ajax-json/
Usando js puro a logica seria mais ou menos assim:
apaga todos os options do combo.
adiciona os novos options
while (combo.options.length) {