0

我正在尝试实现一次在网格视图中选中和取消选中所有复选框的功能。我创建了一个主复选框,用于一次检查所有复选框

<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>

但这不起作用。

注意 - 我无法创建包含所有复选框的表单,然后处理表单中的所有复选框。

请告诉您是否需要其他详细信息。

4

2 回答 2

3

改变

if (document.getElementById('main-checkbox').checked === "checked") {check = false} else {check = true};

var check = document.getElementById('main-checkbox').checked
于 2012-10-26T10:41:59.860 回答
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>
于 2012-10-26T10:46:53.737 回答