4

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

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

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

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

4

3 回答 3

2

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

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

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

于 2009-06-29T20:11:04.013 回答
1

我不知道 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');
}
于 2009-06-29T20:02:52.907 回答
0

它不适用于复选框。它所指的“长度”的概念是字符串长度。您需要创建一个自定义验证方法来获得您想要的行为,或者可能required.

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

于 2009-06-29T20:02:08.633 回答