如何制作一个按钮选中多次单击时取消选中复选框?

时间:2013-11-04 08:46:43

标签: javascript html function checkbox

我希望有一个按钮,当点击多次时,检查取消选中复选框。

我想出了这个:

 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>

2 个答案:

答案 0 :(得分:0)

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

翻转cbconditioning的已检查状态。

答案 1 :(得分:0)

如果你有多个复选框,那么使用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 之类的功能,由if ... else ..语句处理。

4)您的函数中没有使用 switch

JSFiddle