我将ajax调用绑定到多个基于附加数据属性唯一的按钮。
现在共享函数的内部变量。所以,如果我点击多个按钮(即在之前的ajax请求完成之前),变量会相互覆盖....
$('.btn-merge').click(function(){
$this = $( this );
pid = $this.data('pid');
cid = $this.data('cid');
$this.removeClass('btn-primary').addClass('btn-warning').prop('disabled',true).closest('li.suggestions').addClass('waiting-merge');
putData = {
catalogId : cid,
productId : pid
};
$.post("///url///",putData,function (returnData){
if (returnData === 'true'){
suggestion = $this.removeClass('btn-warning').addClass('btn-success').closest('li.suggestions').removeClass('waiting-merge').addClass('success-merge').appendTo('ul.catalog-products').slideDown();
suggestion.find('.btn-unmerge').data('cid',cid).show().prop('disabled',false).removeClass('btn-success').addClass('btn-danger');
suggestion.find('.suggestion-cid').text('Catalog ID:'+cid);
}
else
$this.removeClass('btn-warning').addClass('btn-danger').removeAttr('disabled');
});
});