我有一个表格,其值如下所示,
<table>
<tbody>
<tr>
<td class='price'>5</td>
</tr>
<tr>
<td class='price'>NA</td>
</tr>
<tr>
<td class='price'>10</td>
</tr>
<tr>
<td class='price'>NA</td>
</tr>
<tr>
<td class='price'>20</td>
</tr>
<tr>
<td class='total'></td>
</tr>
</tbody>
</table>
我的任务是计算有效值(5、10 和 20)的总和并在总单元格中显示总和。我尝试过的代码是,
var prices = $('.price'),
total = 0;
$.each(prices, function(i, price) {
if (price != 'NA') {
total = total + price;
}
});
$('.total').text(total);
我面临的问题是,我没有得到正确的输出。有时,表格单元格包含空值而不是“NA”。我不确定我错过了什么。请提出建议。
最佳答案
使用isNaN检查单元格是否包含值然后将其转换:
$.each(prices, function(i, price){
if (!isNaN($(this).text())){
total = total + Number($(this).text());
}});
注意:如果您使用“parseInt”,它将始终返回一个整数 - 因此,如果表中有十进制值,请使用 Number(String)它将尝试转换所有看起来像数字的东西...
关于javascript - 使用 jquery 计算表格单元格中的值总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29599578/