function calcTotal() { let totalPrice = 0; $('input[name="item_ids"]:checked').each(function () { let price = parseFloat($(this).closest('tr').find('td:eq(2)').text()); let quantity = parseInt($(this).closest('tr').find('input[name="item_quantities"]').val()); console.log(price) console.log(quantity) let mini_total_price = price * quantity; console.log(mini_total_price); totalPrice += price * quantity; }); $('#totalPrice').text(totalPrice.toFixed(2)); }
时间: 2024-05-05 16:17:37 浏览: 247
这是一个 JavaScript 函数,用于计算购物车中所有选中商品的总价。函数中使用了 jQuery 库,所以需要先引入 jQuery 库。
函数的主要逻辑如下:
- 首先定义一个 totalPrice 变量,用于保存购物车中所有选中商品的总价。
- 然后使用 jQuery 的 each 方法遍历所有被选中的商品,对于每个商品:
- 从该商品所在的 table 行中找到价格和数量信息,并将其转换为相应的数值类型。
- 计算出该商品的小计价格,并将其累加到 totalPrice 变量中。
- 最后将 totalPrice 显示在页面上。
具体来说,该函数中的实现细节包括:
- 使用 jQuery 的选择器 $('input[name="item_ids"]:checked') 找到所有被选中的商品,其中 input[name="item_ids"] 表示选择 name 属性为 item_ids 的 input 元素,冒号后面的 checked 表示只选择已经选中的元素。
- 对于每个被选中的商品,使用 closest 方法查找其所在的最近的 tr 元素,然后使用 find 方法找到该行中第 3 个 td 元素(即价格所在的列),并使用 text 方法获取该列中的文本内容。
- 将获取到的价格文本转换为浮点数类型,并使用 parseInt 方法将商品数量转换为整数类型。
- 计算出该商品的小计价格,并将其加到 totalPrice 变量中。
- 最后将计算得到的 totalPrice 显示在页面上,其中 $('#totalPrice') 表示选择 id 属性为 totalPrice 的元素。
阅读全文