【发布时间】:2020-02-13 10:39:05
【问题描述】:
我正在构建一个购物车块,我想使用 jQuery 获取每个“item-row”div 的总价格,但我无法让它以正确的方式工作。更具体地说,对于第一项,总价必须为:100.40€ + 5.00€ +15.00€ +15.00€ = 135.40€ 相反,我得到了两件商品总价 200.80 欧元的总和!
从下面的代码可以看出,结果完全错误。 我错过了什么?
这是我的代码:
$(document).ready(function() {
var sum = 0.00;
$(".item-row").each(function() {
var val = $.trim($(".cart-item-price").text());
if (val) {
val = parseFloat(val.replace(/^\$/, ""));
sum += !isNaN(val) ? val : 0;
}
});
$(".item-total-price").html('<span style="color:red;float:left;">Item total price: </span>' + sum.toFixed(2) + "€");
/* alert(sum); */
});
.item-title {
float: left;
width: 150px;
}
.cart-item-price {
float: left;
text-align: right;
width: 100px;
}
.item-extra {
float: left;
width: 150px;
font-weight: 200;
}
.item-total-price {
width: 250px;
text-align: right;
margin-top: 25px;
display: block;
clear: both;
margin-bottom: 25px;
overflow: hidden;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="item-row">
<div class="item-title">iPhone 12: </div>
<div class="cart-item-price">100.40€</div>
<br/>
<div class="item-extra">Case: </div>
<div class="cart-item-price">5.00€</div>
<br/>
<div class="item-extra">Color Red: </div>
<div class="cart-item-price">15.00€</div>
<br/>
<div class="item-extra">Power Bank: </div>
<div class="cart-item-price">15.00€</div>
<div class="item-total-price"></div>
</div>
<div class="item-row">
<div class="item-title">Samsung Galaxy S88: </div>
<div class="cart-item-price">982.40€</div>
<br/>
<div class="item-extra">Case: </div>
<div class="cart-item-price">3.80€</div>
<br/>
<div class="item-extra">Color Red: </div>
<div class="cart-item-price">9.00€</div>
<br/>
<div class="item-extra">Power Bank: </div>
<div class="cart-item-price">15.40€</div>
<div class="item-total-price"></div>
</div>
【问题讨论】: