Esperar requisição ajax para executar função
Olá,
estou com um problema utilizando AJAX e queria saber se alguém pode me ajudar.
Estou tentando selecionar uma opção de um select, só que esse select é preenchido utilizando AJAX, dai ocorre um condição de corrida. Queria saber se há alguma forma de esperar a ação do ajax acabar para executar esta outra função.
OBS: encontrei uma solução gambiarra utilizando timeout, mas queria uma mais correta.
$(document).ready(function () {
$('#iLocal').change(function (e) {
$('#iSetor').empty();
var id = $('#iLocal').val();
$.getJSON('recebe-JSON.php?opcao=setor&valor=' + id, function (dados) {
if (dados.length > 0) {
var option = '<option>Selecione o Setor</option>';
$.each(dados, function (i, obj) {
option = option + '<option value="' + obj.codigo + '">' + obj.sigla + '</option>';
});
} else {
$('#mensagem').html('<span class="mensagem">Não foram encontrados estados para esse país!</span>');
}
$('#iSetor').html(option);
});
});
$("#iLocal option[value = '" + departamento[0].codigolocal + "']").attr("selected", true);
$("#iLocal").trigger("change");
setTimeout(
function ()
{
$("#iSetor option[value = '" + departamento[0].codigodepartamento + "']").attr("selected", true);
}, 20);
});Discussão (2)
Carregando comentários...