簡體   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