Native js realizes all selection, single selection affects all selection

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
</head>
<style>
    ul {
      
      
        list-style: none;
    }
</style>
<body>
<ul>
    <li>全选<input type='checkbox' id='all'></li>
    <li>Java<input type='checkbox' class='item'></li>
    <li>javaScript<input type='checkbox' class='item'></li>
    <li>C++<input type='checkbox' class='item'></li>
    <li>python<input type='checkbox' class='item'></li>
    <li>.net<input type='checkbox' class='item'></li>
</ul>

<script>
    // 补全代码
    const selectAll = document.querySelector('#all')
    const items = Array.from(document.querySelectorAll('.item'))
    selectAll.onchange =  () => {
      
      
        items.forEach(item => item.checked = selectAll.checked)
    }
    items.forEach(item => {
      
      
        item.onchange =  () => {
      
      
            selectAll.checked = items.every(item => item.checked)
        }
    })
</script>
</body>
</html>


Guess you like

Origin blog.csdn.net/weixin_45150813/article/details/125221869