【问题标题】:jQuery Validation plugin minLength for checkboxes用于复选框的 jQuery 验证插件 minLength
【发布时间】:2009-06-29 19:58:06
【问题描述】:

这是我在 stackoverflow 上的第一篇文章,这个网站给我留下了深刻的印象!

我的问题是关于 jQuery 验证插件...特别是关于 minlength 方法。 我有一组复选框,我想知道是否至少选中了 2 个复选框。

http://docs.jquery.com/Plugins/Validation/Methods/minlength#length

在此链接中,有关于 minlength 方法与常规输入框一起使用的文档,但不是复选框。谁能帮助我如何使用 if 复选框?

【问题讨论】:

  • 仅供阅读本文的任何人使用。当组中的所有复选框共享相同的name 时,minlength 方法将确保至少选择该数量的复选框。 jsfiddle.net/gmvck6oe/1

标签: jquery checkbox jquery-validate


【解决方案1】:

没有默认方法。幸运的是,您可以添加它。

jQuery.validator.addMethod('has2selected',function(value, element) {
return $(element).filter(':checked').length >= 2;
}, 'the error message');

编辑:我再次阅读了文档并且 minlength 应该可以工作(如果不是这种情况,上面的代码可以完成这项工作)。您没有发布代码,所以我不确定这是否会导致错误,但在您的帖子中是 minLength 它必须是 minlength

【讨论】:

    【解决方案2】:

    我不知道 jQuery 验证插件,但我想你可以这样做:

    if($('.myCheckBoxes :checked').length > 2) {
       alert('at least two have been checked');
    }
    

    假设您的复选框有一个 myCheckBoxes

    或类似的东西:

    if($("input[type='checkbox'] :checked").length > 2) {
       alert('at least two have been checked');
    }
    

    【讨论】:

      【解决方案3】:

      它不适用于复选框。它所指的“长度”的概念是字符串长度。你需要创建一个custom validation method 来获得你想要的行为,或者可能对dependency expressions in required 做一些花哨的事情。

      karim79 的回答是您需要在自定义验证方法中添加的内容的开始。 (条件,而不是警报。)

      【讨论】:

      • @我在帖子中发布的链接声明...“适用于文本输入、选择和复选框。”
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      相关资源
      最近更新 更多