Jquery 如果字段为';t显示

Jquery 如果字段为';t显示,jquery,wordpress,jquery-validate,Jquery,Wordpress,Jquery Validate,全部,, 我正在使用Wordpress和一些短代码来显示切换功能。我使用的主题是混合,切换功能的示例可以在这里找到: 您可以单击快捷代码->选项卡和切换 这非常有效,我有一个带有一些字段的表单。如果开关打开,那么jQuery验证器工作正常。但是,如果切换关闭,jQuery不会重新确认其中是否有字段,也不会检查它们是否有值。这有什么办法吗 编辑:这是我当前的jQuery: $("#register").validate({ ignore: "", rules: {

全部,, 我正在使用Wordpress和一些短代码来显示切换功能。我使用的主题是混合,切换功能的示例可以在这里找到:

您可以单击快捷代码->选项卡和切换

这非常有效,我有一个带有一些字段的表单。如果开关打开,那么jQuery验证器工作正常。但是,如果切换关闭,jQuery不会重新确认其中是否有字段,也不会检查它们是否有值。这有什么办法吗

编辑:这是我当前的jQuery:

$("#register").validate({
    ignore: "",
    rules: {
        vendor_email: {
            required: true,
            email: true
        },
        vendor_name: "required",
        zip: "required",
    },
    messages: {
        vendor_email: {
            required: "<br>Please enter an email address!<br><br>",
            email: "<br>Please enter a valid email address!<br><br>"
        },
        vendor_name: "<br>Please enter your vendor name!<br><br>",
        zip: "<br>Please enter a zip code!<br><br>",
    },
    highlight: function(element, errorClass) {
        alert(element);
        $(element).closest('togDesc').show();
        $(element).closest('toggleItem').find('.minus').removeClass('minus').addClass('plus');
    });
});
$(“#寄存器”)。验证({
忽略:“,
规则:{
供应商电子邮件:{
要求:正确,
电子邮件:真的
},
供应商名称:“必需”,
zip:“必需”,
},
信息:{
供应商电子邮件:{
必填项:“
请输入电子邮件地址!

”, 电子邮件:
请输入有效的电子邮件地址 }, 供应商名称:“
请输入您的供应商名称!

”, zip:“
请输入邮政编码!

”, }, 突出显示:函数(元素,errorClass){ 警报(要素); $(元素)。最近('togDesc')。show(); $(element).closest('toggleItem')。find('.减号')。removeClass('减号')。addClass('plus'); }); });
突出显示部分导致错误,无法验证任何内容。知道为什么吗


提前谢谢

默认情况下,jQuery验证忽略隐藏字段。将忽略更改为空:

$("#form").validate({
    ignore: "",
    ...
});
如果这些元素处于隐藏状态,您可能希望通过编程方式将其父元素切换为打开状态:

$("#form").validate({
    ignore: "",
    highlight: function(element, errorClass) {
        $(element).addClass(errorClass);
        if(!$(element).is(":visible")) {
            $(element).closest('togDesc').show();
            $(element).closest('toggleItem').find('.minus').removeClass('minus').addClass('plus');
        }
    });
}

可能有一个内置的函数来切换这个在混合中打开的功能,但这也应该可以做到。

非常感谢!那很有效!但是,由于这些字段可能被隐藏,因此我可以对所有未通过验证的字段发出警报吗?请参阅我的编辑。如果出现错误,我会将字段的父项切换为打开。或者,您可以在突出显示的选项代码中添加您的警报代码。谢谢您的建议。我添加了完整的jQuery验证代码。如果我添加突出显示部分,那么它根本不会进行验证。您需要确保仍然将
errorClass
添加到元素中。上面修改的示例。