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-04-28 18:23:26 浏览: 96
vue_project:外卖项目
这是一个JavaScript函数,用于计算购物车中所有已选择商品的总价。该函数使用了jQuery库来简化DOM操作。具体的实现流程如下:
1. 定义一个变量`totalPrice`,用于存储所有已选择商品的总价。
2. 使用jQuery选择器`$('input[name="item_ids"]:checked')`来获取所有已选择的商品条目。这里假设每个商品条目都包含一个名为`item_ids`的复选框。
3. 使用`each()`方法遍历所有已选择的商品条目。在每次迭代中,使用`closest()`方法找到最近的包含`<tr>`标签的父元素,再使用`find()`方法找到该元素中第3个`<td>`标签(即商品单价所在的单元格)和第4个`<td>`标签中的`<input>`标签(即商品数量输入框),分别获取它们的值。
4. 将商品单价和商品数量相乘,得到该商品的小计价格。
5. 将该商品的小计价格加到`totalPrice`变量中。
6. 最后,将`totalPrice`变量的值设置为HTML元素`#totalPrice`的文本内容,以显示总价。这里使用了`toFixed(2)`方法来保留小数点后两位。
需要注意的是,该函数的实现假设每个商品条目都包含一列复选框、一列商品名称、一列商品单价、一列商品数量输入框、一列小计价格和一列删除按钮。如果模板中的HTML结构不同,那么需要相应地修改该函数的实现。
阅读全文