2

我有一个购物车页面,显示在购物车页面上的每个产品都在一个 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>

任何形式的帮助表示赞赏

4

3 回答 3

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

例子

于 2012-10-31T18:11:23.683 回答
0
$(document).ready(function(){
  $('.a').click(function(){
   var total = 0;
   $('.price').each(function(){
    total += parseInt($(this).text());
   });

   //update total

  });
});
于 2012-10-31T18:13:03.470 回答
0

Chase 解决方案的替代方案:

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

例子

于 2012-10-31T18:20:10.320 回答