javascript - 如果所有三个单选按钮均为 false,则不验证

标签 javascript jquery html jquery-validate

我有三个不同的代码块,带有单选按钮。

唯一改变的是它们的 id 和名称。

我需要的是:如果value="false"上的所有单选按钮都被选中(用户选择选中所有“否”),则表单将无效。

我目前正在使用 jQuery 验证,我所需要的只是单选按钮都是必需的。

我尝试使用此代码,但它不起作用。

registerForm.validate({
      rules: {
        'data': {
          required: {
            depends: function() {
              return $('.yesandno').is(':checked').val() === "false";
            }
          }
        });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div>
  <input type="radio" class="yesandno" id="yes-balance" tabindex='9' name="data" value="true" />
  <label for="yes-balance" class="yes">YES</label>
  <input type="radio" class="yesandno" id="no-balance" tabindex='9' name="data" value="false" />
  <label for="no-balance" class="no">NO</label>
</div>

编辑: 最后,我将 Ele 的代码回复与我正在开发的门户网站上使用的 jQuery 验证插件混合在一起。 这是代码:

    submitHandler: function(form) {
            $('#btn-register').click(() => {
              if ($('.yesandno:checked[value="false"]').size() === 3) {
                return false;
              } else {
                form.submit();
              }
            });
        }

最佳答案

您可以使用过滤器并检查长度:

// this filter will only return radios that are checked and have a value of false
$('.yesandno').filter(function() {
   return this.checked && this.value === "false";
}).length === 3;

关于javascript - 如果所有三个单选按钮均为 false,则不验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48663402/

相关文章:

javascript - 使用 Node.js 和 Handlebars 显示数据库查询的内容

Javascript 编码

javascript - 避免多个ajax绑定(bind)

php - 索引.php :13 Uncaught SyntaxError: Unexpected token: error message in Ci

javascript - 通过输入字段将文本添加到 h3/p/span

javascript - 从外部js文件获取html文件的元素

javascript - 如何解决本地系统上的 Cors 问题?

javascript - 如何管理 RGraph 玫瑰图中 Canvas 的高度?

JQuery 选择器帮助

php - 多个文件上传(数组)php