js循环历遍所有值后 执行操作

项目需求:
购物车系统,当每个产品都被选中后,全选的选择按钮,变成选择状态。

思路:
循环所有选择

<input type="checkbox" class="check">

当所有

e.checked == true 

<input type="checkbox" class="check">

checked==true

javascript新手,求助!

阅读 3.9k
2 个回答
<input type="checkbox" class="check">
<input type="checkbox" class="checkAll">

原理就是所有选中的checkbox的个数等于总的checkbox个数document.querySelectorAll('.checkAll').length,
checkAll.checked=true

通过事件监听(最好通过代理)来监听每个checkbox的状态,当所有checkbox被选中时,全选checkbox被勾上。

parent.on('click', function (e) {
    var ele = e.target;
    if (ele.is(checkbox)) {
        var flag = true;
        if (ele.checked) {
            $('.check').forEach(funtion (item) {
                if (!item.checked) flag = false;
            })    
        } else {
            flag = false;
        }
        if (flag) {
            $('.checkAll').checked = true;
        } else {
            $('.checkAll').checked = false;
        }
    }
})

注意,上述代码有些地方是伪代码,看清思路就好了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题