Javascript 使用jQuery验证';s invalidHandler事件

Javascript 使用jQuery验证';s invalidHandler事件,javascript,jquery,validation,jquery-plugins,jquery-validate,Javascript,Jquery,Validation,Jquery Plugins,Jquery Validate,我需要向div添加一个类,该类在验证时被包装在select元素周围 $("#Form").validate({ invalidHandler: function (form, validator) { $("[id$='_DropDownList']").each(function () { // How do I figure out if $(this) is valid or invalid? // Add the c

我需要向div添加一个类,该类在验证时被包装在select元素周围

$("#Form").validate({
    invalidHandler: function (form, validator) {
        $("[id$='_DropDownList']").each(function () {
            // How do I figure out if $(this) is valid or invalid?
            // Add the class below if invalid.
            $(this).parent().addClass("error");
        });
    }
});

看起来此代码是正确的:

$(this).parent().addClass("error");

也许你的问题在于它周围的代码。。。尝试将addClass行移到它所在的函数之外,看看它是否在那里工作。

看起来此代码是正确的:

$(this).parent().addClass("error");
也许你的问题在于它周围的代码。。。尝试将addClass行移到它所在的函数之外,看看它是否在那里工作。

您可以使用该方法,如下所示:

$("#Form").validate({
    invalidHandler: function (form, validator) {
        $("[id$='_DropDownList']").each(function () {
            if(!$(this).valid())
              $(this).parent().addClass("error");
        });
    }
});
但是,以下是专门针对这一点的:

$("#Form").validate({
  highlight: function(element, errorClass, validClass) {
    $(element).parent().removeClass(validClass).addClass(errorClass);
  },
  unhighlight: function(element, errorClass, validClass) {
    $(element).parent().removeClass(errorClass).addClass(validClass);
  }
});
您可以使用以下方法:

$("#Form").validate({
    invalidHandler: function (form, validator) {
        $("[id$='_DropDownList']").each(function () {
            if(!$(this).valid())
              $(this).parent().addClass("error");
        });
    }
});
但是,以下是专门针对这一点的:

$("#Form").validate({
  highlight: function(element, errorClass, validClass) {
    $(element).parent().removeClass(validClass).addClass(errorClass);
  },
  unhighlight: function(element, errorClass, validClass) {
    $(element).parent().removeClass(errorClass).addClass(validClass);
  }
});

invalidHandler
仅在表单提交且无效时调用。我相信仅在该函数下添加代码就足够了。

invalidHandler
仅在表单提交且无效时才被调用。我相信仅在该函数下添加代码就足够了