在电商平台的购物车页面中,全选功能是提升用户体验的重要特性。我们需要实现以下功能:
-
点击全选按钮,选中所有商品
-
商品选择状态变化时,自动更新全选按钮状态
-
支持动态加载商品列表
代码
javascript">$('#allCheck').on('change', function () {let isChecked = $('#allCheck').prop('checked');$('.checkedBox').prop('checked', isChecked);
});$('#cart').on('change', '.checkedBox', function () {if ($('.checkedBox:checked').length !== $('.checkedBox').length) {$('#allCheck').prop('checked', false);} else {$('#allCheck').prop('checked', true);}
});
- $('#allCheck').on('change') 监听全选按钮变化
- $('.checkedBox').prop('checked') 批量设置复选框状态
- $('#cart').on('change', '.checkedBox') 监听商品复选框变化
- :checked 选择器 筛选已选中的复选框
-
全选控制子项
- 当
#allCheck
状态变化时,获取其当前选中状态 - 将状态同步至所有
class="checkedBox"
的复选框
- 当
-
子项反控全选
- 统计已选中的子项数量
checkedCount
- 比较已选数量与总数量
total
- 当
checkedCount === total
时,自动勾选全选框
- 统计已选中的子项数量