Да - используйте Function.apply
для вызова $.when()
с вашим массивом неизвестной длины:
var ajax_loaded = [];
$('.chart input[name^="qtd"]').each(function()
{
ajax_loaded.push($.ajax({
url : www + 'chart/add',
type : 'POST',
data : {
qtde: $(this).val(),
idProd: $(this).prev().val()
}
});
});
$.when.apply($, ajax_loaded ).done(function(){
alert('Done');
});
Примечание: обратите внимание, что вам нужно помещать результат $.ajax
в массив, а не функцию. Нажатие на закрытие не сработает.