JavaScript:基于唯一类限制选中的允许框的数量

标签 javascript jquery

我有这个 Java 脚本代码

var maxCheckedCount = 3;
var CLASS = 'Woops! Too many selected!';

    jQuery('input[type=checkbox]').click(function(){
        var n = jQuery('input:checked').length;
        if(n>=maxCheckedCount){
            jQuery(this).prop('checked',false);
            alert(maxCheckedAlertMessage);
        }
    });

然后这里是 HTML 复选框列表。

<input type="checkbox">1
<br>
<input type="checkbox">2
<br>
<input type="checkbox">3
<br>
<input type="checkbox">4
<br>
<input type="checkbox">5
<br>


<ul   CLASS="options-34-list">
<li>
<input type="checkbox">6
</li>
<input type="checkbox">7
<li>
<input type="checkbox">8
</li>
<li>
<input type="checkbox">9
</li>
<li>
<input type="checkbox">10
</li>
</ul>

我如何才能仅将基于复选框的 CLASS CLASS="options-34-list" 限制允许的框数的 JavaScript 应用于所有列表而不是所有列表。

最佳答案

这是我的版本!

$.fn.maxSelectedCheckboxes = maxSelectedCheckboxes;

function maxSelectedCheckboxes(maxSelected) {
    var $targets = this;
    $targets.on('click', function() {
        var $checked = $targets.filter(':checked');
        if ($checked.length > maxSelected) {
            $checked.not(this).first().removeAttr('checked');
        }
    });
};

fiddle :http://jsfiddle.net/S8ZTA/

这很好,因为它可以用在应用于复选框集合的任何选择器上:

$('#options-34-list input[type="checkbox"]').maxSelectedCheckboxes(3);

关于JavaScript:基于唯一类限制选中的允许框的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19375189/

相关文章:

javascript - 无法使用 gnupg 解密 openpgpjs (JS) 加密的 pgp 消息(通过 PHP 的 Ubuntu GPG)

javascript - 通过 JSON 文件创建大型客户端 Javascript 对象数组的替代方案?

javascript - 检查元素是否在屏幕上可见

javascript - 单击链接时在 Canvas 外侧边栏中显示 div

javascript - 在 div 中输出 CSS 样式规则(在屏幕上)

javascript - 如果选择了某个项目,则显示复选框

javascript - 运行示例代码时出错 - 导出类中的类 - Auth0 with React Node.js

javascript - jQuery 进度条宽度和数字动画不流畅

javascript - jquery - 选中复选框时显示文本框

javascript - 将类添加到特定图像的父 div