如果一个复选框是使用jquery选中的,如何无法选中其他复选框
How to unable and uncheck other checkbox if one is check using jquery?
<input type="checkbox" class="allCheck" />all
<input type="checkbox" class="checks" />shoes
<input type="checkbox" class="checks" />bag
<input type="checkbox" class="checks" />car
如果复选框全部选中,如何取消选中其他复选框?
注意:我想选中除ALL之外的多个复选框。如果选中了ALL,则必须取消选中并禁用其他复选框。
这是相当直接的,但有一些问题:
- 如果用户更改了
.allCheck
,则从中驱动.checks
复选框 - 如果用户更改了
.checks
复选框,则根据(现在(是否全部或全部选中.checks
来驱动.allCheck
复选框
// If `.allCheck` is changed by the user, drive the `.checks` checkboxes from it
$(".allCheck").on("change", function() {
$(".checks").prop("checked", this.checked);
});
// If a `.checks` checkbox is changed by the user, drive the `.allCheck`
// checkbox based on whether all or none of `.checks` are (now) checked
$(".checks").on("change", function() {
var all = $(".checks").get().every(function(cb) {
return cb.checked;
});
$(".allCheck").prop("checked", all);
});
<label><input type="checkbox" class="allCheck" />all</label>
<label><input type="checkbox" class="checks" />shoes</label>
<label><input type="checkbox" class="checks" />bag</label>
<label><input type="checkbox" class="checks" />car</label>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
请注意,在上面我有没有完成这个
并禁用
我们可以,但这不是这些东西通常最有用的方式。相反,上面的内容可以很容易地选择除一个之外的所有内容(勾选"全部",然后取消勾选该内容(。
但是,如果你真的想要禁用行为,当然这有点简单:你通过.prop("disabled", flag)
标记disabled
,只需要处理对.allCheck
的更改。
$(".allCheck").on("change", function() {
$(".checks")
.prop("checked", this.checked)
.prop("disabled", this.checked)
});
<label><input type="checkbox" class="allCheck" />all</label>
<label><input type="checkbox" class="checks" />shoes</label>
<label><input type="checkbox" class="checks" />bag</label>
<label><input type="checkbox" class="checks" />car</label>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
$('.allCheck').click(function(){
$('.checks').prop('checked',$(this).prop('checked'));
$('.checks').prop('disabled',$(this).prop('checked'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" class="allCheck" />all
<input type="checkbox" class="checks" />shoes
<input type="checkbox" class="checks" />bag
<input type="checkbox" class="checks" />car
相关文章:
- 如何使用javascript检测数据表分页的其他页面中的复选框
- 在其他文本输入字段中输入文本时启用复选框
- 选中一个复选框后,使用html.checkbox自动禁用其他复选框
- 当选中一个复选框时,表单中的所有其他复选框都必须禁用-不工作
- 具有延迟的多个复选框选择以检查其他复选框更改
- Javascript错误,根据其他复选框的结果更新复选框/按钮
- 如果选中了其他复选框,则取消选中复选框
- 使用JavaScript获取widgetVar或选中/取消选中所有其他PrimeFaces复选框
- 仅从表中选中所有复选框,而不从其他表中选中所有复选框
- 复选框在选中时触发函数,如果未选中,则触发其他函数
- 选中后选中所有其他复选框
- 取消选中复选框将取消选中表中的其他复选框
- jQuery - 选中所有/取消选中所有复选框 - 然后取消选中(或选中)其他复选框
- 复选框状态和其他属性
- Jquery如果选中某个复选框,则禁用其他复选框
- 翡翠,如果其他速记选择复选框
- 复选框启用 Onload 以显示其他元素
- 单击具有类似类的复选框时,禁用其他复选框
- 如何在jsp中插入单选按钮、复选框和其他输入类型
- Javascript/JQuery设置复选框的值,同时禁用其他复选框