如何计算我在li-table中放入的许多不同get属性的总和?我想每次在li表中添加/删除时更新总数...这是代码: 使用Javascript:
var ele = info[plus.indexOf(this)];
var ul = document.getElementById("cart_id");
var li = document.createElement("LI");
var title = ele.getAttribute("data-title");
var price = parseInt(ele.getAttribute("data-price"));
li.appendChild(document.createTextNode(title+" "+price));
ul.appendChild(li);//So far so good!!
/*Update! when I try this code below, I get current value from (data-price) X 3?
So when I press 299 I get value 897? Why does it count like this?
I want to sum the total!? I guess I have to put [i] inside there
but I don't know which way, I doesn't work if I try:
total += parseInt(listItem[i].ele.getAttribute("data-price")); */
var total = 0;
listItem = ele.getAttribute("data-price");
for (var i=0; i < listItem.length; i++)
{
total += parseInt(ele.getAttribute("data-price"));
}
document.querySelector("#totalPrice").value = total;
HTML:
<div class="cart">
<div id="cart">Cart</div>
<ul class="cart_ul" id="cart_id">
</ul>
<form>
<br>Total price:
<input type="text" name="totalPrice" id="totalPrice" disabled>
</form>
</div>
<ul class="product" id="prod">
<li class="first" data-title="iPad" data-price="299">iPad euro;299)/li>
</ul>
所以我想从&#34;产品UL级&#34;获得价格(数据价格=&#34; 299&#34;在这种情况下)并将其放入&#34;购物车UL级&#34;。
答案 0 :(得分:1)
您可以为现有总价添加新价格,也可以重新计算总价。例如:
function getSum() {
var totalPrice = 0;
$('li').each(function () {
totalPrice += parseInt($(this).data('price'));
});
return totalPrice;
}
没有jquery:
var list= document.getElementById("ul");
var listItem = list.getElementsByTagName("li");
var totalPrice = 0;
for (var i=0; i < listItem.length; i++) {
totalPrice += parseInt(listItem[i].getAttribute('data-price'));
}
答案 1 :(得分:0)
在您的代码argparse
中price
(来自int
)并将其分配到var price = parseInt(ele.getAttribute("data-price"));
中的数组arr
。
您可能打算使用一系列元素填充var arr = price;
。
答案 2 :(得分:0)
这是一款适合您的全功能吸尘器
http://plnkr.co/edit/MnrUyl40AbV6jEYGEGHU?p=preview
function recalculareTotal(){
var total = 0,
lis = document.getElementsByTagName("li");
for (var i = 0; i < lis.length; i++ ){
total += parseInt(lis[i].getAttribute("data-price"));
}
document.querySelector("#totalPrice").value = total;
}
它没有jQuery,可以完成你需要的一切 - 添加和删除项目并计算每次的总数。
<强> 更新 强>
代码中的“li”标记未关闭
&lt; li class =“first”data-title =“iPad”data-price =“299”&gt; iPad euro; 299)/ li&gt;
我不知道代码中究竟是什么“ele”变量意味着什么,但首先你应该得到整个列表(UL),然后对它的元素(LI)进行交互并得到“数据价格”该列表中每个 LI的属性。
更新了plunker,请参阅函数recalculareTotal2