我正在尝试实现检查和取消选中网格视图中所有复选框的功能。我创建了一个主复选框,用于立即检查所有复选框
<input id="main-checkbox" type="checkbox" name="messages-checkall" value="all" checked="checked" onclick='checkedAll();'>
checkedAll()函数的实现如下
<script type='text/javaScript'>
function checkedAll () {
var inputs = document.getElementsByTagName('input');
var checkboxes = [];
if (document.getElementById('main-checkbox').checked === "checked") {check = false} else {check = true};
for (var i = 0; i < inputs.length; i++) {
if (inputs[i].type == 'checkbox') {
inputs[i].checked = check;
}
}
}
</script>
但这不起作用。
注意 - 我无法创建包含所有复选框的表单,然后处理表单中的所有复选框。
请告诉您是否需要其他详细信息。
答案 0 :(得分:3)
更改
if (document.getElementById('main-checkbox').checked === "checked") {check = false} else {check = true};
要
var check = document.getElementById('main-checkbox').checked
答案 1 :(得分:0)
var objCheckBoxes = document.getElementById('containerId').getElementsByTagName('input');
var countCheckBoxes = objCheckBoxes.length;
if(!countCheckBoxes)
{
objCheckBoxes.checked = true/false;
}
else
{
for(var i = 0; i < countCheckBoxes; i++)
{
objCheckBoxes[i].checked = true/false;
}
}
在html中
<ul id="containerId">
<li><input type="checkbox" name="selected" value="Some text description 1"></li>
<li><input type="checkbox" name="selected" value="Some text description 2"></li>
</ul>