给购物车加上选择时自动计算功能,分为两种情况:全选改变和单个商品选择改变。

  1. 全选复选框状态改变
    全选取消时,所有商品数量清零,全选时,所有商品数量设为1;
  2. 单个商品复选框状态改变
    取消选中时,对应商品数量设为0,选中时,数量设为1。
  1. // 全选复选框
  2. const checkAll = document.querySelector("#check-all");
  3. // 获取每行的复选框
  4. const checkItems = document.querySelectorAll(".item");
  5. // 获取全部数量框
  6. const numInput = document.querySelectorAll('input[type="number"]');
  7. checkAll.onchange = (ev) => {
  8. checkItems.forEach((item) => {
  9. item.checked = ev.target.checked;
  10. if (ev.target.checked) {
  11. numInput.forEach((num) => (num.value = 1));
  12. } else {
  13. numInput.forEach((num) => (num.value = 0));
  14. }
  15. // 调用自动运算函数
  16. autoCallculate();
  17. });
  18. };
  19. // 每一行的复选框状态发生变化时,检查是否全部选中,修改对应数量框的数值
  20. checkItems.forEach(function (item, index) {
  21. item.onchange = function (ev) {
  22. checkAll.checked = [...checkItems].every(function (item) {
  23. return item.checked;
  24. });
  25. if (ev.target.checked) {
  26. // 恢复选中,商品数量变为1
  27. numInput[index].value = 1;
  28. } else {
  29. // 取消选中时,商品数量变为0
  30. numInput[index].value = 0;
  31. }
  32. // 调用自动运算函数
  33. autoCallculate();
  34. };
  35. });

更多相关文章

  1. 利用表格常用标签制造一个商品列表
  2. 07-16作业
  3. 京东秒杀区
  4. 购物车效果实现
  5. 0629商品信息表
  6. 商品信息表设计
  7. 案例表格的应用
  8. HTML表格实战:制作商品信息表格
  9. 0629作业

随机推荐

  1. Java 中关于 String 类型的 10 个问题
  2. 使用 ThreadLocal 变量的时机和方法
  3. JDK1.8 ConcurrentHashMap的size
  4. 手把手教你用 Java 实现 AOP
  5. 谁在关心 toString 的性能
  6. 线程池调整真的很重要
  7. 偏执却管用的 10 条 Java 编程技巧
  8. Java 面试参考指南( 一 )
  9. 连接池大小调优
  10. Java 面试参考指南( 二 )