2 c n26 C_N26 于 2016.09.19 17:55 提问

Js Table 如何统计有值的列数量

如题,table 表格中,统计有值的一列计算数量
如图,统计有值的列数量

3个回答

showbo
showbo   Ds   Rxr 2016.09.19 18:12
 <table id="tb" border="1">
    <tr><td>--</td><td>--</td><td>1</td><td>1</td><td>1</td><td>1</td></tr>
    <tr><td>--</td><td>--</td><td>19</td><td>1</td><td>1</td><td>1</td></tr>
    <tr><td>--</td><td>--</td><td>1</td><td>13</td><td>1</td><td>1</td></tr>
    <tr><td>--</td><td>--</td><td>1</td><td>1</td><td>10</td><td>1</td></tr>
    <tr><td>--</td><td>--</td><td>1</td><td>1</td><td>1</td><td>12</td></tr>

    <tr><td>合计</td><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<script>
    var sum = {},isNumber=/\d+(\.\d+)?/;
    for (var i = 0, rl = tb.rows.length - 1; i < rl; i++) {
        for (var j = 0, cl = tb.rows[i].cells.length; j < cl; j++) {
            if (isNumber.test(tb.rows[i].cells[j].innerHTML)) {
                sum[j] = (sum[j] || 0) + parseFloat(tb.rows[i].cells[j].innerHTML);
            }
        }
    }
    var tr = tb.rows[tb.rows.length - 1];//最后一行
    var all = 0;
    for (var attr in sum) { tr.cells[attr].innerHTML = sum[attr]; all += sum[attr] }
    tr.cells[1].innerHTML = all;
</script>
showbo
showbo 回复琉璃小小楠: parseFloat(tb.rows[i].cells[j].innerHTML)改成1就行了
大约一年之前 回复
C_N26
C_N26 我试了下,这个方法是统计列中所有数的合计,其实我想要的是,例如第三列有11条数据,所以我想统计的数是11,这样说,您可以理解吗?
大约一年之前 回复
C_N26
C_N26 谢谢
大约一年之前 回复
shihengzhen101
shihengzhen101   Rxr 2016.09.19 17:57

你是要用什么方法?
1)数据库
2)Excel

shihengzhen101
shihengzhen101 回复琉璃小小楠: 参考楼下代码
大约一年之前 回复
C_N26
C_N26 js 方法,前台统计出来
大约一年之前 回复
showbo
showbo   Ds   Rxr 2016.09.19 18:02

js还是什么东东。。这个问题问得别人无法回答。。

C_N26
C_N26 是JS,我没写清楚
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片