2

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

我目前有这个,但它不能正常工作。我进入syntax error: syntax error我的 Firefox 控制台。

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

如何修复我的代码?

谢谢

4

2 回答 2

3

要重构的两个主要项目。首先,而不是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/

于 2013-10-03T09:25:36.253 回答
1

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

    c[i].click();

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

于 2018-07-05T22:07:03.010 回答