取消选中复选框将取消选中表中的其他复选框
Unchecking a Checkbox will uncheck other checkboxes in a table
我在这里使用了基本的HTML table
和input
复选框字段。
这就是我想用Javascript完成的:
表的第二列有一个复选框。 第三列包含第二列的"子选项"。 每一行都是独立的。
如果我取消选中<td>
第二列中的复选框,我想取消选中<td>
中的所有复选框,直接在右侧(第三列中的子选项)。
我也想做相反的事情;如果你选择第一个复选框,它将检查子选项中所有未选中的复选框。
伪代码思想:
if checkbox checked:
uncheck child input's in td `id`
或
if checkbox checked:
uncheck <check box one `id'>
uncheck <check box two `id'>
uncheck <check box three `id'>
etc
第二种选择似乎要乏味得多。 第一个会起作用吗?
Pure Javascript 解决方案(没有标记框架)。
演示
var table = document.getElementById("mytable");
var checkbox;
for(var i=0; i<table.rows.length; i++){
checkbox = table.rows[i].cells[1].getElementsByTagName("input")[0];
checkbox.onchange = function(){
var others = this.parentNode.parentNode.cells[2].getElementsByTagName("input");
for(var j=0; j<others.length; j++){
others[j].checked = this.checked;
}
}
}
你可以试试这个:
jQuery
$('#checkall:checkbox').change(function () {
if($(this).attr("checked")) $('input:checkbox').attr('checked','checked');
else $('input:checkbox').removeAttr('checked');
});
小提琴
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- 使用jquery选中/取消选中单个复选框
- 使用javascript在页面加载时取消选中所有复选框
- (取消)使用单独的复选框激活复选框列表
- jQuery-取消选中复选框
- 单击或取消选中复选框时,如何创建弹出的自定义窗口
- Javascript选中/取消选中所有复选框并将值写入文本区域
- dojo/cbtree取消选中所有复选框并选中选中复选框
- 通过选中和取消选中复选框来添加和删除数组中的值
- 当与之关联的 ng-model 为 false 时,Angularjs 复选框值不会取消选中
- 取消复选框未进行可视化更新
- 复选/取消复选框不能与prop功能一起工作
- 在剑道ui网格中上下滚动时取消复选框
- 检查条件后使用jQuery取消复选框
- 当另一个复选框被选中时,取消复选框,但如果被选中,也取消复选框
- JQuery .prop函数不工作,取消复选框
- 取消复选框绑定
- 如何在不取消复选框的情况下通过Ajax更新复选框列表
- 绑定点击事件后无法取消复选框