Я получил x выбор и входы, и каждый выбор и входы изменяют значения следующих выборов и входов (как инструмент исследования), используя Ajax.Число выбора может изменяться в зависимости от различных параметров.
Этот код, который я сделал, кажется, не работает:
$('body').find('select, input').each(function(i, e) {
$(e).trigger('change').ajaxComplete(function () { continue; } );
});
Можно ли как-нибудь дождаться окончания каждого ajax?позвонить, прежде чем перейти к следующему элементу?setTimeout () не является хорошим решением, потому что некоторые AJAX генерируют много времени (что влияет на базу данных с более чем 4 миллионами строк).
Вот пример вызова Ajax, который я использую для одного выбора -пожалуйста, напомните, что в моем случае каждый вызов ajax отличается (страница, аргументы, успешные действия), но каждый вызов ajax возвращает JSON:
$.ajax({
url:'load_product.php',
method:'POST',
cache:false,
dataType:'json',
data:{s:$(this).val()},
success:function(a, b, c) {
if(typeof a.error == "string") {
showError(a.typeError, a.error);
}
if(typeof a.product_ean == "string") {
$('input#product').val(a.product);
$('input#product').trigger('change');
}
},
error:function(a, b, c) {
showError('danger', b);
}
});