我有一个自定义的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”,则考虑所有三个文本字段。我只需要访问当前上下文中的文本字段。
答案 0 :(得分:0)
如果要访问正在验证的元素,这应该有效:
var designeeID = $(element).attr("data-level");