将不同<p>中的所有数字相乘,然后将其求和</p>

时间:2012-10-31 18:06:34

标签: javascript jquery html

我有一个购物车页面,并且在shoopingcart页面上显示的每个产品都在div框内。

每个div框的价格都显示为<p id="price">599<p>

如何获取这些

中的所有数字,然后总结并在另一个<p></p>中显示总数?

取决于购物车中产生了多少div产品的产品数量。假设我们有2个产品意味着2个div盒:

<div id="holder@(model.ProductId)" class="holder">  
             <img src="@Html.DisplayFor(modelItem => item.Image)" alt="" />
               <div class="productinfo">
               <h2>Bike</h2> 
               <p>It will take 24 hours to deliver</p>    
               </div>
                <div class="productprice">     
                <p class="price">599<p>                                    
               </div>                                   

第二个:

<div id="holder@(model.ProductId)" class="holder">  
             <img src="@Html.DisplayFor(modelItem => item.Image)" alt="" />
               <div class="productinfo">
               <h2>car</h2> 
               <p>It will take 24 hours to deliver</p>    
               </div>
                <div class="productprice">     
                <p class="price">1599<p>                                     
               </div>                                   

这是触发此功能的按钮:

<input type="button" value="Update" class="a" />

我如何使用Jquery执行此操作,不知何故我需要检查有多少<p class="price"><p>然后eval()它们然后将它们相乘并将总数存储在不同的<p></p>

感谢任何形式的帮助

3 个答案:

答案 0 :(得分:4)

var total = 0;
$("p.price").each(function(i){
   total += parseFloat($(this).text(), 10);
});

<强> example

答案 1 :(得分:0)

$(document).ready(function(){
  $('.a').click(function(){
   var total = 0;
   $('.price').each(function(){
    total += parseInt($(this).text());
   });

   //update total

  });
});

答案 2 :(得分:0)

Chase`s Solution的替代方案:

var total = 0;
$("p.price").each(function(i){
    total += !isNaN(c = +$(this).text())?c:0;
});

Example