如果每个类元素都有一些价值,那就做点什么

时间:2014-10-07 18:53:10

标签: jquery ajax

$("#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代码仍然执行

2 个答案:

答案 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
}