如何使一个按钮选中 取消选中多次时复选框

How to make One button check Uncheck check box when clicked more than once?

本文关键字:复选框 取消 按钮 何使一      更新时间:2023-09-26

我想要一个按钮,当多次单击时,该按钮可以取消选中复选框。

我想出了这个:

 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>
function choseall(){
    var ischecked = document.getElementById('cbconditioning').checked;
    document.getElementById('cbconditioning').checked = !ischecked;
}

翻转 cbcondition 的检查状态。

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

1)使用以下行获取名称为cbconditioning的所有复选框元素。

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

2)然后使用length属性获取 no.of 复选框并迭代如下

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的功能,如果...还。。陈述。

4) 在函数中使用switch是没有用

JSFiddle