使用jquery计算总和

时间:2017-06-03 08:18:19

标签: jquery css

我有一个表格,其列名为"价格" 。如何计算所有产品的所有价格的总和并将其存储在 jquery

中的变量中
<table id ="tab">
    <th>Product</th><th>Price</th>
    <tr><td>A</td><td>752</td></tr>
    <tr><td>B</td><td>652</td></tr>
    <tr><td>C</td><td>1000</td></tr>
</table>

6 个答案:

答案 0 :(得分:4)

这个怎么样?

$(document).ready(function() {
  var sum = 0;
  $('#tab tr td:nth-of-type(2)').each(function(i, cell) {
    sum += parseInt($(cell).text(),10);
  });
  console.log(sum);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<table id="tab">
  <th>Product</th>
  <th>Price</th>
  <tr>
    <td>A</td>
    <td>752</td>
  </tr>
  <tr>
    <td>B</td>
    <td>652</td>
  </tr>
  <tr>
    <td>C</td>
    <td>1000</td>
  </tr>
</table>

答案 1 :(得分:3)

使用此

<script>
    var sum=0;
    $('#tab').find('tr').each(function(i,v){
       sum=sum+parseInt($(this).find('td').eq(1).text());
    })
    alert(sum);
</script>

答案 2 :(得分:3)

使用map()reduce()创建单行

var sum = $('tr td:nth-child(2)')
  .map((_, el) => +$(el).text().trim() || 0).get()
  .reduce((a, c) => a + c);
  
console.log('Sum =',sum)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="tab">
  <th>Product</th>
  <th>Price</th>
  <tr>
    <td>A</td>
    <td>752</td>
  </tr>
  <tr>
    <td>B</td>
    <td>652</td>
  </tr>
  <tr>
    <td>C</td>
    <td>1000</td>
  </tr>
</table>

答案 3 :(得分:3)

$(document).ready(function(){
   var total = 0;
   $('tr td:nth-child(2)').each(function(){
 	total+=parseInt($(this).text());
   })
   alert(total);
})
<script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.2.1.min.js"></script>
<table id ="tab">
    <th>Product</th><th>Price</th>
    <tr><td>A</td><td>752</td></tr>
    <tr><td>B</td><td>652</td></tr>
    <tr><td>C</td><td>1000</td></tr>
</table>

答案 4 :(得分:2)

如果您的价格位于每个tr的最后一个元素中。然后你可以试试这个

var total  = 0;

$('#tab tr td:last-child').each(function(index) {
  total = total + parseInt($(this).text());
});

alert(total);

演示:https://jsfiddle.net/uwhLjwce/

答案 5 :(得分:2)

请尝试以下方法

function getTotalPrice() {
    var output = 0;
    var priceCells = $("#tab tr td:nth-child(2)");
    var text;
    var value

    for (var i = 0, len = priceCells.length; i < len; i++) {
        text = $(priceCells[i]).text();
        value = parseInt(text, 10);
        output += value;
    }

    return output;
}