:blank 选择器不适用于复选框 jQuery Validate()

Posted

技术标签:

【中文标题】:blank 选择器不适用于复选框 jQuery Validate()【英文标题】::blank selector not working on checkbox jQuery Validate() 【发布时间】:2015-11-08 11:08:02 【问题描述】:

您好,我目前有 2 个字段,其中 1 个或另一个需要检查,这些字段最初使用 2 个文本类型输入,现在其中 1 个需要从文本输入更改为复选框。

逻辑:如果文本框有值,则不需要复选框, 如果勾选了复选框,则不需要文本框。

我最初使用:blank 选择器来确定验证并且它正在工作,将它更改为一个复选框并且它损坏了,我在 validate() 文档中是否缺少复选框的不同规则?

我正在使用以下版本:

<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/jquery.validate.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.13.1/additional-methods.js"></script>

jQuery:

        //text 1
        'textbox': 
            required: "#certificate:blank",
            minlength: 8
        ,

        //checkbox 1
        certificate: 
            required: "#textbox:blank"
        ,

html

<input type="text" maxlength="9" class=" form-textbox" id="textbox" name="textbox">
<input type="checkbox" class=" form-checkbox" id="certificate" name="certificate">

【问题讨论】:

【参考方案1】:

你需要更新你的代码

certificate: 
    required: "#textbox:blank"
,

// for checked
certificate: 
    required: "#textbox:checked"
,

// for unchecked
certificate: 
    required: function(element) 
        return !$("#textbox").is(":checked")
    
,

供参考 - http://jqueryvalidation.org/category/methods/#example:-makes-details-required-only-if-#other-is-checked

【讨论】:

抱歉,我不确定我的逻辑是否有误,但如果没有检查,我希望它是必需的。 legend,所以你可以返回一个真假的对象,这很高兴知道。谢谢

以上是关于:blank 选择器不适用于复选框 jQuery Validate()的主要内容,如果未能解决你的问题,请参考以下文章

jquery selected选择器 语法

Jquery 类选择器不适用于动态类选择器

Jquery 不适用于两个 :not 选择器?

jquery 属性选择器不适用于数据属性

为啥 jQuery 选择器适用于 Chrome,但不适用于 Safari?

jQuery 属性等于选择器不适用于自定义属性