gpt4 book ai didi

javascript - 使用 jQuery 计算购物车总数

转载 作者:行者123 更新时间:2023-11-29 16:59:23 25 4
gpt4 key购买 nike

我正在尝试做一些我认为很简单 (!) 的事情,但遇到了麻烦。每次用户更新下面的表单时,我想通过将数量(输入值)乘以数据属性 unit-price 来更新购物车总数。

我以为我只需要遍历每个输入并获取值和 unit-price 这样我就可以将它们相乘以创建总计,但我是小计返回 '0 '...我做错了什么有什么想法吗?

JS fiddle

http://jsfiddle.net/wy5hy42x/

HTML

<form action="" id="form">
<div class="cart-row">
<p>Product name</p>
<label for="updates">Quantity:</label>
<input type="number" name="updates[]" value="2" min="0" data-unit-price="18.00" class="cart-variant--quantity_input"><br />
&pound;18 each
</div>

<div class="cart-row">
<p>Product name</p>
<label for="updates">Quantity:</label>
<input type="number" name="updates[]" value="4" min="0" data-unit-price="31.00" class="cart-variant--quantity_input"><br />
&pound;31 each
</div>

<div class="cart-row">
<p>Product name</p>
<label for="updates">Quantity:</label>
<input type="number" name="updates[]" value="4" min="0" data-unit-price="12.00" class="cart-variant--quantity_input"><br />
&pound;12 each
</div>
<input type="submit" value="submit" />
</form>

JQUERY

// Update final price on quantity change
$('.cart-variant--quantity_input').on("change", function() {
var st = 0;
$('.cart-row').each(function() {
var i = $('.cart-variant--quantity_input');
var up = $(i).data('unit-price');
var q = $(i).val();
var st = st + (up * q);
});
// Subtotal price
alert('Cart updated. Subtotal : ' + st + 'GBP');
});

最佳答案

您只需要从此行中删除 var 关键字:

var st = st + (up * q);
// ^-- remove var in fron of st

否则您会在 $.each 回调中创建一个局部变量并且永远不会更新外部 st 值。

UPD.(归功于 Dustin Hoffner 对于此捕获)第二个问题是您需要在当前 中找到 .cart-variant--quantity_input 元素.cart-row 容器。例如,通过为选择器提供上下文:

var i = $('.cart-variant--quantity_input', this);

合起来会变成

$('.cart-variant--quantity_input').on("change", function () {
var st = 0;
$('.cart-row').each(function () {
var i = $('.cart-variant--quantity_input', this);
var up = $(i).data('unit-price');
var q = $(i).val();
st = st + (up * q);
});
// Subtotal price
alert('Cart updated. Subtotal : ' + st + 'GBP');
});

演示: http://jsfiddle.net/wy5hy42x/9/

关于javascript - 使用 jQuery 计算购物车总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29497419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com