0

我希望有一个按钮可以在单击多次时取消选中复选框。

我想出了这个:

 function choseall() {      
        switch (d) {

            case 1:
                document.getElementById('cbconditioning').checked = true
                document.getElementById('cbradio').checked = true
                break;
            case 2:
                document.getElementById('cbconditioning').checked = false
                document.getElementById('cbradio').checked = false
                break;
        }
    }


        <input id="btnchoseall" type="button" value="Chose All" onclick="choseall()" /></tr>
        <input id="cbradio" type="checkbox"/>b. TV Radio (TV, Home Theatre, etc.)</td>
        <input id="cbconditioning" type="checkbox"/>a. Air Conditioning</td>
4

2 回答 2

0
function choseall(){
    var ischecked = document.getElementById('cbconditioning').checked;
    document.getElementById('cbconditioning').checked = !ischecked;
}

翻转 cbconditioning 的选中状态。

于 2013-11-04T08:51:24.190 回答
0

如果您有多个复选框,则使用id是错误的选择。而是使用name属性

cbconditioning1)使用以下行获取所有具有名称的复选框元素。

var x = document.getElementsByName("cbconditioning");

2)然后使用length属性获取复选框的数量并迭代如下

function choseall() {
    var x = document.getElementsByName("cbconditioning");
    for (var i = 0; i < x.length; i++) {
        if (document.getElementsByName("cbconditioning")[i].checked) {
            document.getElementsByName("cbconditioning")[i].checked = false;
        } else {
            document.getElementsByName("cbconditioning")[i].checked = true;
        }
    }
}

3)您需要的是toggle类似的功能,由 if...else.. 语句处理。

switch4)在你的函数中使用没有用

JSFiddle

于 2013-11-04T08:58:23.787 回答