次のコードがあります。
$('#remove-commercial-products-modal').find('form').submit(function() {
var promises = [];
var $modal = $(this).closest('.modal');
$(this).find('input:checkbox:checked').each(function() {
promises.push(
$.ajax({
url: '/commercial/products/unclaim/' + $(this).val() + '/',
dataType: 'json',
timeout: 10000,
cache: false
}));
});
$.when.apply($, promises).done(function(result) {
$modal.modal('hide');
});
return false;
});
したがって、フォームが送信されると、チェックされたチェックボックスの値が収集され、それぞれが $.ajax 呼び出しであるプロミスの配列が作成されます。
呼び出しが実行され、.done
関数内のコードが実行されます。
しかし、それはプロミスごとに 1 つずつ、多数の引数を.done
期待していると思います。しかし、事前にいくつあるかはわかりません。結果の配列を期待していました (それぞれが $.ajax 呼び出しの応答です)。
回答をグループ化できるかどうか知っている人はいますか? ありがとう!