如何在IF语句中突破每个循环?

时间:2016-01-06 09:34:43

标签: jquery

我有一个循环遍历多个表格单元格的函数,并根据文本框或选择框的选定值检查它们的值。我有一个问题,如果我在IF语句中达到某一点,我想打破每个循环,但我不知道如何做到这一点。我查看了使用标签,但我认为它们不适用于每个语句,我认为我也不能使用break;行。

JQuery的:

function CheckIfPermissionExists(IsEditRole, IsPreviousPermission, DynamicElementToAdd) {
        var count = 0;
        $('.PermissionName').each(function () {
            if (IsPreviousPermission == true) {
                var PermissionNameToAdd = $('#PermissionNameSelectBox').find(":selected").val();
                if ($(this).text() == PermissionNameToAdd) {
                    $('#CreateErrorMessage').text("Please choose a different permission as this one already exists");
                    $('#CreateErrorMessage').css("display", "block");
//Break out of each here
                    return false;
                }

                else if (count < 1) {
                    AddIntoCreateTable(IsEditRole, IsPreviousPermission, DynamicElementToAdd);
                    count++;
                }
            }
            else {
                var PermissionNameToAdd = $('#PermissionNameTextBox').val();
                if ($(this).text() == PermissionNameToAdd) {
                    $('#CreateErrorMessage').text("Please choose a different permission as this one already exists");
                    $('#CreateErrorMessage').css("display", "block");
                    return false;
//Break out of each here
                }
                else if (count < 1) {
                    AddIntoCreateTable(IsEditRole, IsPreviousPermission, DynamicElementToAdd);
                    count++;
                }
            }
        });
    }

2 个答案:

答案 0 :(得分:4)

  

break;是您可以在while (...)for (...)中执行的操作   循环,但你在一个函数内。退出函数的正确方法   是使用return

     

如果您希望.each()循环立即停止,则应return false

Source

答案 1 :(得分:0)

要打破$ .each循环,必须在循环回调中返回false。

返回true跳到下一次迭代,相当于在正常循环中继续。

How to break out of jQuery each Loop