如果执行2 for循环则发出警报

时间:2014-02-22 16:11:09

标签: jquery for-loop

如果我的两个循环正确完成,我希望我的脚本启动警报。这是一种检查验证脚本,每个字段都已满,但是这个脚本在第一个循环的同时执行第二个循环,所以我想要一个警报,如果所有输入。在每个人都可以逐个检查之后填充参数。 http://jsfiddle.net/thybomoon/4dvw6/5/

$(document).on('click', '#Check', Check);

function Check() {
    var length_PA = $('#PA .argument').length;
    for (i = 1; i < length_PA + 1; i++) {
        var val_PA = $("#PA tr:eq(" + i + ")").find(".argument").val();
        if (val_PA === "") {
            $("#PA tr:eq(" + i + ")").find(".argument").css('background', 'red');
            break;
        } else if (val_PA !== "") {
            $("#PA tr:eq(" + i + ")").find(".argument").css('background', 'green');
        }
    }
    var length_CA = $('#CA .argument').length;
    for (i = 1; i < length_CA + 1; i++) {
        var val_CA = $("#CA tr:eq(" + i + ")").find(".argument").val();
        if (val_CA === "") {
            $("#CA tr:eq(" + i + ")").find(".argument").css('background', 'red');
            break;
        } else if (val_CA !== "") {
            $("#CA tr:eq(" + i + ")").find(".argument").css('background', 'green');
        }
    }
 alert('alert me');
}

2 个答案:

答案 0 :(得分:0)

只需从break;条件中删除if

即可
 if (val_PA === "") {
     $("#PA tr:eq(" + i + ")").find(".argument").css('background', 'red');
     //break; //remove it
 }

DEMO

答案 1 :(得分:0)

必须知道是否执行for循环并且它可能是这样的:

$(document).on('click', '#Check', Check);

function Check() {
    var length_PA = $('#PA .argument').length;
    var count_PA = 0;
    for (i = 1; i < length_PA + 1; i++) {
        var val_PA = $("#PA tr:eq(" + i + ")").find(".argument").val();
        if (val_PA === "") {
            $("#PA tr:eq(" + i + ")").find(".argument").focus();
            break;
        } else if (val_PA !== "") {
            $("#PA tr:eq(" + i + ")").find(".argument").css('background', 'green');
            count_PA++;
        }
    }
    if (count_PA == length_PA) {
        var length_CA = $('#CA .argument').length;
        var count_CA = 0;
        for (i = 1; i < length_CA + 1; i++) {
            var val_CA = $("#CA tr:eq(" + i + ")").find(".argument").val();
            if (val_CA === "") {
                $("#CA tr:eq(" + i + ")").find(".argument").focus();
                break;
            } else if (val_CA !== "") {
                $("#CA tr:eq(" + i + ")").find(".argument").css('background', 'green');
            count_CA++;
                if(count_CA == length_CA) {alert('done');}
            }
        }
    }

}

http://jsfiddle.net/thybomoon/4dvw6/10/