$("#btn_02").click(function(){
$(".quant").each(function() {
var a = $(this).html();
alert (a); // each value is 0
if (a == 0) {return false;}
});
$.ajax({
url: "process02.php",
success: function(data) {
$("#modalsCart").html(data);
}
});
});
如果每个ajax
值为.quant
,我想停止0
代码,是的,它们都是0
,但ajax
代码仍然执行
答案 0 :(得分:5)
请注意,您已定义了2个功能。循环中的return
不会突破主循环。您需要在较低功能可见的范围内设置另一个变量,您可以在完成循环后检查以决定是否执行ajax请求。
$("#btn_02").click(function(){
var hasA = false;
$(".quant").each(function() {
var a = $(this).html();
alert (a); // each value is 0
if (a == 0) {hasA = true; return false;}
});
if (!hasA) {
$.ajax({
url: "process02.php",
success: function(data) {
$("#modalsCart").html(data);
}
});
}
});
答案 1 :(得分:1)
所以...如果所有的数量都是0,你想不执行ajax调用 - 对吧?如果'quants'的数量大于0,您只想执行AJAX调用。
您可以做的是跟踪总计a
,然后仅在a
为>时才执行$ .ajax调用。 0
在伪代码中,它看起来像这样:
var totalA = 0;
$(".quant").each {
totalA += a;
}
if (totalA > 0) {
$.ajax(); // ajax call here
}