javascript - 使用 jquery 计算表格单元格中的值总计

标签 javascript jquery

我有一个表格,其值如下所示,

<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/

相关文章:

javascript - 简单的 HTML 和 JS 代码不起作用?

javascript - 无法显示带有基于邮政编码的标记的 Google map

javascript - HTML5 是否可以在所有移动浏览器中完全发挥作用?

javascript - 无法使 JavaScript Accordion 与 SQL Server 表一起正常工作

jquery - 如何为表单的所有输入绑定(bind)一个事件?

javascript - Google ReCAPTCHA onload 回调未触发

javascript - 返回与 jQuery 连接的动态字符串

javascript - 获取由 Javascript 对象组成的 indexOf Javascript 数组

javascript - 在 Angular 中防止多个 $http 请求。有没有更好的办法?

javascript - 如何使用jQuery来选择具有唯一文本内容的XML节点?