设置复选框选择范围的限制
To set limit over selection of Checbox
我有2个div容器,都包含Checkbox元素。我想用一个极限从DIV2最多可以选择7个复选框,从DIV1用户可以选择所有复选框。但是,DIV1和DIV2中的复选框总数不应超过10个。
每次在选中/取消选中时,选中的复选框计数为10,然后剩余未选中的复选框将被禁用。
<div id="main DIV">
<div id="DIV1">
<input type="checkbox" checked/>1
<input type="checkbox" checked/>2
<input type="checkbox" checked/>3<br/>
<input type="checkbox" checked/>4
<input type="checkbox" checked/>5
</div>
<div id="DIV2">
<input type="checkbox" checked/>1
<input type="checkbox" checked/>2
<input type="checkbox" checked/>3<br/>
<input type="checkbox" checked/>4
<input type="checkbox" checked/>5
<input type="checkbox" checked/>6
<input type="checkbox" checked/>7
<input type="checkbox" checked/>8
<input type="checkbox" checked/>9
</div>
</div>
var div2Cbs = $("#DIV2 :checkbox");
var allCbs = div2Cbs.add("#DIV1 :checkbox").on("click", function() {
var disable2 = div2Cbs.filter(":checked").length >= 7;
var disableAll = allCbs.filter(":checked").length >= 10;
allCbs.filter(":not(:checked)").prop("disabled", disableAll);
div2Cbs.filter(":not(:checked)").prop("disabled", disable2 || disableAll);
});
div { border: thin black solid; margin: 5px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="DIV1">
<input type="checkbox"/>1
<input type="checkbox"/>2
<input type="checkbox"/>3<br/>
<input type="checkbox"/>4
<input type="checkbox"/>5
</div>
<div id="DIV2">
<input type="checkbox"/>1
<input type="checkbox"/>2
<input type="checkbox"/>3<br/>
<input type="checkbox"/>4
<input type="checkbox"/>5
<input type="checkbox"/>6
<input type="checkbox"/>7
<input type="checkbox"/>8
<input type="checkbox"/>9
</div>
试试
//Give you the length of the checked chechbox under `mainDIV`
$('#mainDIV input[type="checkbox"]:checked').length
请确保,ID不应有空格。用mainDIV
代替main DIV
- 在Jquery中使用
parent child
选择来提供限制。 -
:checked
和:not(:checked)
将帮助您实现这一点。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- Javascript复选框函数:;缺少:在属性id之后"
- 通过选中复选框更新范围
- 清除“选中的复选框范围”值
- 按住Shift键并单击以选择复选框范围
- 选中复选框时如何禁用幻灯片范围
- Dojo”;在“;复选框更改内部循环范围问题
- 设置复选框选择范围的限制