访问JQuery验证器中的当前上下文

时间:2014-05-16 23:09:03

标签: javascript jquery validation

我有一个自定义的JQuery验证器,用于验证输入的电子邮件是否已存在于列表中。我在cshtml中使用foreach显示3个输入字段。所以基本上我的代码中只有一个输入字段。在我的“validator.addMethod”中,我试图使用$(this)访问文本字段。但那是返回验证器。这是我的代码:

$.validator.addMethod("emailTextField", function (value, element) {
        var designeeID = $(this).attr("data-level");
        var newEmail = $("#txtUpdate" + designeeID).val();
        var exists = true;
        $("#emailList" + designeeID + " > .list-group-item > .email").each(function () {
            if ($(this).html().toLowerCase() == newEmail.toLowerCase()) {

                exists = false;
            }
        });
        return exists;
    },
   "Email already exists in the list.");
});

我使用'数据级'来访问上面代码中第一个“this”的特定文本字段。但它返回验证器。如果我在文本字段中输入而不是“this”,则考虑所有三个文本字段。我只需要访问当前上下文中的文本字段。

1 个答案:

答案 0 :(得分:0)

如果要访问正在验证的元素,这应该有效:

 var designeeID = $(element).attr("data-level");