我有一个表格,其列名为"价格" 。如何计算所有产品的所有价格的总和并将其存储在 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>
答案 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);
答案 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;
}