javascript - 限制可选择的 DOM 复选框

标签 javascript jquery dom checkbox

我正在尝试限制用户可以选择的复选框数量。这些复选框是为数组中的每个项目生成的 DOM 输入对象。我目前没有运气,所以非常感谢任何帮助。谢谢!

在这里 fiddle :http://jsfiddle.net/vVxM2/222/

names =["Donny","Danny","Ricky","Eric","Jamie","Bobby","Booby"];
var numberOf = names.length; 
var text = "<ul>";
for (i = 0; i < numberOf; i++) {
    text += "<li class='playerListItem'><label><input type='checkbox' class='playerCheckbox'>" + names[i] + "</label></li>";
    }
text += "</ul>";
document.getElementById("recentPlayersContainer").innerHTML = text;


var limit = 3;
$('input.playerCheckbox').on('change', function(event) {
if($(this).siblings(':checked').length >= limit) {
   this.checked = false;
}
});

最佳答案

您的问题出在 change 事件中。

而不是做:

if($(this).siblings(':checked').length >= limit)

你应该这样做:

if($('.playerCheckbox:checked').length >= limit)

此外,如果您的限制是最多检查 3 个,那么您应该:

$('.playerCheckbox:checked').length > limit

因为当事件 change 被触发时,当前复选框已经被选中。

关于javascript - 限制可选择的 DOM 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27490595/

相关文章:

angular - 如何获取 angular2 组件的父 DOM 元素引用

javascript - Object.create 工作 new() 不

java - Batik 事件监听器

javascript - 如何在 IE 中访问 Flash 对象的变量?

javascript - 单击输入字段在父项上应用背景颜色并取消选择初始选定的单选按钮

javascript - 如何获取各种 VAR 并将它们放入 HTML 创建的容器中?

java - 使用 Jquery/Javascript 的 Spring 表单选择选择/单击事件

javascript - 在具有重叠 "circle"div 的点击处理程序中获取错误元素

javascript - 如何根据 jQuery 中的滚动位置将 addClass() 添加到两个不同导航的事件链接?

javascript - 如何使用ajax从jsp中检索 Controller 返回的值