首頁  >  問答  >  主體

取消選取以下複選框之一後如何變更選取的複選框(全選)?

我剛剛在 JS 中創建了檢查所有腳本,但不知道如何實現檢查我的所有複選框是否仍被選中,如果沒有 - 取消選中我的“全選”複選框。關於如何做有什麼想法嗎?

這是我的程式碼,請看一下,純 JS

function toggle() {
    let selector = document.querySelector('.chbx_selector');
    let selection = document.querySelectorAll('.chbx_selection');

    selector.addEventListener('click', () => {
        if (selector.checked === true) {
            selectAll(selection)
        }
        else {
            deselectAll(selection)
        }

    });
}

function selectAll (selection) {
    selection.forEach(chbx => {
        chbx.checked = true;
    });
}

function deselectAll (selection) {
    selection.forEach(chbx => {
        chbx.checked = false;
    });
}

toggle()

我似乎已經耗盡了解決問題的心智能力,儘管我仍在嘗試使用 eventListener 點擊類型進行一些操作,希望能夠達到預期的結果。任何幫助表示讚賞。

P粉463418483P粉463418483218 天前534

全部回覆(1)我來回復

  • P粉642920522

    P粉6429205222024-04-02 15:41:11

    您可以在非全選複選框上設定事件偵聽器。在此事件中,您可以檢查複選框的選中狀態,如果未選中,則更新複選框以取消選中它。

    這樣,只要取消選取任何其他複選框,您的所有複選框都會保持同步。

    回覆
    0
  • 取消回覆