如何在JavaScript中使用SPAN名称获得表行(总价)的总和

时间:2018-04-09 16:37:49

标签: javascript jsp

我正在使用J2EE构建购物车。我正在展示价值(产品图片,产品名称,产品价格,数量和数量总价)。我想要的是有多行。那么如何使用JavaScript计算所有产品的总和(总价)?

代码

var table = $("#cartTB");
$.each(data,function(i, value)
{
    table.append
    ('<tr class="cart_item"><td class="product-remove"><a title="Remove this item" class="remove" href="#">×</a> </td>
    <td class="product-thumbnail"><a href=""><img width="145" height="145" alt="poster_1_up" class="shop_thumbnail" src="'+ value.productPic +'"></a></td>
    <td class="product-name"><a href="">'+ value.productName +'</a></td>
    <td class="product-price"><span id="onePrice" class="amount">'+ value.productPrice +'</span> </td>
    <td class="product-quantity"><div class="quantity buttons_added"><input type="button" id="mButton" class="minus" onclick="priceCalc()" value="-"><input type="number" id="qty" size="4" class="input-text qty text" title="Qty" value="'+ value.qty +'" min="0" step="1"><input type="button" id="pButton" class="plus" onclick="priceCalc()" value="+"></div></td>
    <td class="product-subtotal"><span id="totProPrice" name="totP" class="amount">'+ value.productPrice +'</span></td></tr>'
    );

我试过这个。但它总是给我0。

$( document ).ready(function() {
            var totalValue = 0;
            $("#cartTB span").each(function() {
                totalValue += parseFloat($(this).find('.totP').text());
            });
            alert(totalValue);
        });

1 个答案:

答案 0 :(得分:0)

您可以使用es6 .map()

let total_price = 0;
 //this will loop through your array
data.map(val => {
    total_price += parseInt(val.productPrice);
});