2

すべてのボタンを 1 つの機能で切り替える必要があります。私のチェックボックスは独立しており、フォームの一部ではないため、関数はドキュメント内のすべてのチェックボックスを切り替える必要があります。

私は現在これを持っていますが、正しく動作していません。syntax error: syntax errorFirefox コンソールに入ります。

    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

リファクタリングする 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/

于 2013-10-03T09:25:36.253 に答える
1

または、チェックボックス要素ごとに次の操作を実行できます。

    c[i].click();

このバージョンは、その要素に関連付けられた関連イベント ハンドラーをトリガーします。

于 2018-07-05T22:07:03.010 に答える