javascript - jquery 验证不适用于隐藏字段

标签 javascript jquery jquery-validate

最初在 jQuery 验证器上工作,一些字段不显示任何内容,因此当用户单击下一步按钮时,错误消息显示您错过了 1 个字段。请在提交前填写,这正如我所期望的那样完美。因为我给了 ignore:".chk_Field",。但是,当用户单击"is"单选按钮时,用户可以看到更多字段。不填写任何字段如果用户单击下一步按钮,它仍然应该显示您错过了 5 个字段。请在提交前填写,但目前显示您错过了 1 个字段。请在提交前填写这行代码不会发生这种情况ignore:".chk_Field",

这是我的 jquery 代码

function apply_validation() {
    $(".educationForm").validate({
        ignore:".chk_Field",
        onkeyup: false,
        showErrors: function (errorMap, errorList) {

            var errors = this.numberOfInvalids();

            if (errors) {
                var message = 'You have missed ' + errors + ' fields. Please fill before submitted.';
                $errorMessageDiv.html(message);
                $errorMessageDiv.show();
            } else {
                $errorMessageDiv.hide();
            }
            this.defaultShowErrors();
        },
        errorPlacement: function () {
            return false;
        },
        highlight: function (element) {

            if ($(element).is(':radio')) {

            } else {
                $(element).addClass('errRed');
                $(".chk_field_hlt").addClass('errRed_chkb');
                $('#imageUploadForm').addClass('errRed');
            }
            $(element).prevAll('label').find('span.required-star').addClass('text-error-red').removeClass('text-error-black');
        },
        unhighlight: function (element) {

            if ($(element).is(':radio')) {} else {
                $(element).removeClass('errRed');
                $(".chk_field_hlt").removeClass('errRed_chkb');
            }
            $(element).prevAll('label').find('span.required-star').addClass('text-error-black').removeClass('text-error-red');

        }
    });
}

这是fiddle link

提前致谢

最佳答案

尝试输入这行代码:

$("#expy").find(".chk_Field").removeClass("chk_Field");

这里:

 $(".wrk_clp").click(function () {
        if ($('input[name=rad_emp]:checked').val() == "yes") {
            $expDiv.show();

            $("#expy").find(".chk_Field").removeClass("chk_Field");
}

我刚刚测试过,它似乎有效。

关于javascript - jquery 验证不适用于隐藏字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33279283/

相关文章:

javascript - jQuery 验证,element.value 在 errorplacement 中未定义

jQuery 验证器解除绑定(bind)

javascript - 我可以使用 div :before as an anchor to toggle visibility of the rest of the div? 的内容吗

javascript - 如何访问父分区的第一个子分区

javascript - 全尺寸屏幕的中心导航栏选项卡和移动屏幕的导航栏折叠内

jquery - 添加 JQuery 菜单

javascript - jQuery 使用附加的表单元素进行验证

javascript - 水平对齐无序列表 HTML

javascript - 如何将子页面值发送到父页面?

javascript - Angular 2 通过 [class.className] 绑定(bind)添加多个类