Я строю блок тележки и хочу получить общую цену за каждый элемент div "row-row", используя jQuery, но я не могу заставить его работать правильно. Более конкретно, для первого предмета общая цена должна быть: 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>