如何清除所有复选框选中复选框id="checkAll"
?
在我的演示中,当用户选中复选框id="checkAll"
时,选中所有复选框
但我想申请,当用户选中复选框id="checkAll"
时,所有复选框都清晰,我该怎么办?
http://jsfiddle.net/peap/sydzL8Lc/1/
$('#checkAll').click(function () {
$('input:checkbox').prop('checked', this.checked);
});
答案 0 :(得分:1)
只需应用this.checked
$('#checkAll').change(function () {
$('input:checkbox').not(this).prop('checked', !this.checked);
});
答案 1 :(得分:0)
如果我理解正确,您需要在点击“全部检查”时清除所有项目 - 为清晰起见,您可能需要将名称更改为“全部清除”。
如果是这样,只需添加简单!在this.checked前面
$('#checkAll')。点击(function(){
$('input:checkbox')。prop('checked',!this.checked); });
答案 2 :(得分:0)
您可以使用change()
功能,您可以使用更改事件中的this.checked
进行检查,它会为复选框选中状态返回boolean
值:
$('#checkAll').change(function () {
$('input:checkbox').prop('checked', this.checked); // all checked on check of #checkAll
});
$('#checkAll').change(function () {
$('input:checkbox').prop('checked', !this.checked); // all unchecked on check of #checkAll
});
如果你想要所有未选中但没有主复选框,那么:
$('#checkAll').change(function () {
$('input:checkbox').not(this).prop('checked', !this.checked); // all unchecked on check of #checkAll but not itself
});
答案 3 :(得分:0)
您不应对多个元素使用相同的ID,因为ID是唯一的。而是使用class="checkedItem"
。
如果您想清除所有使用
$('#checkAll').click(function () {
$('input:checkbox').prop('checked', !this.checked);
});
然而,这也清除了第一个复选框。为防止这种使用
$('#checkAll').click(function () {
$('input:checkbox').not(this).prop('checked', !this.checked);
});