博客列表 >给购物车加上选择时自动计算功能

给购物车加上选择时自动计算功能

江流
江流原创
2021年10月05日 16:13:49497浏览

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

  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. });
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
江流2021-10-07 00:08:481楼
谢谢老师,我尽量多使用箭头函数。