### 一、實現效果 + 點擊全選按鈕/取消全選,控制商品的全選或取消 + 每個商品的覆選框都選中後,自動勾上全選按鈕,或者商品任何一個覆選框沒有選中,取消全選 
const checkList = document.querySelectorAll('tbody input')
//大覆選框控制小覆選框
checkAll.addEventListener('click', function () {
//當點擊全選按鈕時,每一行的checked的狀態會和全選/取消是一樣的,所以要獲取每一行的數據在進行更改
for (let i = 0; i < checkList.length; i++) {
checkList[i].checked = this.checked
}
})
//由小的覆選框控制大的覆選框
//如果勾選完每一行數據後,全選按鈕自動選上,或者取消勾選一行數據,全選按鈕自動取消
//核心思想就是通過css的偽類選擇器,找到選中的個數與總的覆選框個數進行對比
//如果選中個數===總個數,全選按鈕就勾上,否則取消
for (let i = 0; i < checkList.length; i++) {
checkList[i].addEventListener('click', function () {
checkAll.checked = document.querySelectorAll('tbody input:checked').length ===checkList.length
})
}
</script>
</body>
</html>
本文來自博客園,作者:弩哥++,轉載請註明原文鏈接:https://www.cnblogs.com/bangbangzoutianya/p/17638226.html