2011-07-07 43 views
0

我可以使用$.when方法創建多個jquery ajax請求,但不知道參數的數量?在jQuery中帶有許多參數的多個ajax請求在.when方法中

這是我的代碼:

var ajax_loaded = new Array(); 

    $('.chart input[name^="qtd"]').each(function() 
    {   
     ajax_loaded.push(function(){$.ajax({ 
      url : www + 'chart/add', 
      type : 'POST', 
      data : { 
       qtde: $(this).val(), 
       idProd: $(this).prev().val() 
      } 
     })}); 
    }); 

    $.when(ajax_loaded).done(function(){ 
     alert('Done'); 
    }); 

回答

0

是 - 使用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結果到ARR唉,不是功能。推關閉不起作用。

+0

謝謝Alnitak!它工作完美! – pierophp

+0

@pierophp請不要忘記upvote並接受 – Alnitak

0

取決於你在做什麼可能更容易使用.ajax()回調(成功和錯誤)