选中/取消选中网格视图中的所有复选框

时间:2012-10-26 10:36:32

标签: javascript html checkbox

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

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

但这不起作用。

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

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

2 个答案:

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