繁体   English   中英

多次单击时如何使一个按钮选中“取消选中”复选框?

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

我想有一个按钮,当单击多次时,它会取消选中一个复选框。

我想出了这个:

 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属性获取复选框的编号并按如下方式进行迭代

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 ..语句会注意这一点。

4)您的功能中没有使用switch

JSFiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM