使用类对复选框组进行 jQuery 验证

标签 jquery validation class checkbox

我的问题与使用类而不是名称值的 jQuery 验证非常相似 1 。我想验证一个复选框组,以便至少需要检查一个。默认情况下,两个复选框都被选中,但我想确保用户不会取消选中这两个复选框。复选框是

    <div>
    <input type="checkbox" class="channel" name="web" checked />
    <label for="web" class="check">Web</label>
    <input type="checkbox" class="channel" name="mobile" checked />
    <label for="mobile" class="check">Mobile</label>
    </div>

我的jquery是:

$("#searchForm").validate({
    rules:{
            ...
            ...
            ...
    }
});

$(".channel").rules("add", {  
    required: true, 
     minlength: 1

});

但是,这并没有达到预期的效果。如果我不选中任何一个框或仅选中第二个框(移动),则表单将不会提交,并且我会在第一个框上收到错误消息。我做错了什么?

最佳答案

我不确定我是否会使用 jQuery 验证来完成这样的事情,但如果您只是想确保任何组中至少有一个选中的复选框(无论是类或任何其他属性),您只需检查任何适当选择器的长度即可。

if ($('.channel:checked').length == 0) {
    // validation fails
}

编辑

如果不使用验证,您可以通过执行以下操作来停止提交:

$('form').submit(function(e){
    if ($('.channel:checked').length == 0) {
        // validation fails, so stop submit
        e.preventDefault();
    }
});

关于使用类对复选框组进行 jQuery 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408938/

相关文章:

php - Yii2 根据模型要求设置数组表单字段

C++ 对自定义类初始化器的困惑

javascript - 如何在Jquery中重置进度条

jquery - 查明复选框是否被选中

python - 如何更正此正则表达式和函数以验证 pandas 列值模式的正确性?

xaml - Windows Phone 8.1 通用应用程序中的字段验证

c++ - 多线程 C++,将带有参数的函数从类传递到 main

php - 将文件包含到命名空间中

javascript - 将嵌套值添加到关联数组 - JS

javascript - HTML:jQuery:DOM 操作