JavaScript大于不工作

时间:2013-11-30 07:35:51

标签: javascript jquery ajax

我有一个JavaScript代码段:

function verifyFrnds(){
    var boxes=$(".matchFrnds:checked").length;
    //alert(boxes); its value is 50 when you do alert
    var call=1;
    $(".matchFrnds").each(function(index){

        if($(this).is(':checked')){
            call++;
            var sendData= $(this).val();

            $.post('SOME PHP Page',{sendData:sendData},function(data){      
                //window.location.reload();
            });

            //alert(call); value is 1
            // 1 >=50 should be false but all the time the condition gets true
            if(call >= boxes)
            {
                window.location.reload();
            }
        }
    });     
}

问题是自我解释。即使不是这样,条件也会成立。不确定是不是因为它不是将它们视为数字和字符串,而是条件一直都是真的。

3 个答案:

答案 0 :(得分:0)

我错过了一些上下文,但试试这个:

function verifyFrnds() { 

    var boxes = $(".matchFrnds:checked").length;

    $(".matchFrnds:checked").each(function(index) {

        var sendData= $(this).val();
        $.post('SOME PHP Page',{sendData:sendData},function(data){      
            //window.location.reload();
        });

        if(index >= boxes-1) {
            window.location.reload();
            return false;
        }

    });

}

答案 1 :(得分:-1)

使用下面的代码

if(parseInt(call) >= parseInt(boxes))
            {
                window.location.reload();
            }

答案 2 :(得分:-1)

来自您的帖子回调的window.location.reload()是否重置您的复选框,因此没有选中?

1将始终大于0

当然这取决于如何在HTML中初始化表单,但我们不会从您的示例中了解这一点。

如果您向我们提供有关您拥有的内容和您想要做的更详细的解释,我们可以为您提供更好的解决方案。