首页  >  问答  >  正文

取消选中以下复选框之一后如何更改选中的复选框(全选)?

我刚刚在 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 天前542

全部回复(1)我来回复

  • P粉642920522

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

    您可以在非全选复选框上设置事件侦听器。在此事件中,您可以检查复选框的选中状态,如果未选中,则更新复选框以取消选中它。

    这样,只要取消选中任何其他复选框,您的所有复选框都会保持同步。

    回复
    0
  • 取消回复