Javascript切换复选框

时间:2013-10-03 09:22:13

标签: javascript html checkbox

我需要使用单个功能切换所有按钮。函数需要切换文档中的所有复选框,因为我的复选框是独立的,而不是表单的一部分。

我目前有这个,但它无法正常工作。我在我的firefox控制台中获得了syntax error: syntax error

    checked=false;
    function checkedAll() {
        var c = new Array();
        c = doc.getElementsByTagName('input');
        if (checked == false){
            checked = true;
        }else{
            checked = false;
        }
        for (var i = 0; i < c.length; i++){
            if (c[i].type == 'checkbox'){
                c[i].checked = checked;
            }
        }
    }

如何修复我的代码?

由于

2 个答案:

答案 0 :(得分:2)

重构的两个主要项目。首先,它必须是doc,而不是document。其次,而不是依赖布尔值中的全局只传递来确定是否选中复选框。

function checkedAll(isChecked) {
    var c = document.querySelectorAll('input[type="checkbox"]');

    for (var i = 0; i < c.length; i++){
        c[i].checked = isChecked;
    }
}

JS小提琴: http://jsfiddle.net/Jvnfm/107/

答案 1 :(得分:1)

您也可以对每个复选框元素执行以下操作:

    c[i].click();

此版本将触发与该元素关联的所有关联事件处理程序。