【发布时间】:2015-09-19 01:57:18
【问题描述】:
我是 JavaScript / jQuery 的新手,希望有人可以帮助我。
我有一个表,其中一行中的一些 TD 有一个类“calcSumColumn”。
对于其中的每一个,我想计算并显示相应列的总和。
所有相关的要计算的 TD 都包含一个 contenteditable div。
到目前为止,我有以下显示总和行中正确 TD 的内容,但它始终显示 0 而不是列的实际总和。
另外,我对这里有一个嵌套循环并不满意。
谁能告诉我我在这里做错了什么并告诉我这是否可以通过一个循环来实现?
我的 jQuery:
var rowIndex,
sumColumn = 0,
current = $(e.target);
// ...
$(this).closest('table').find('td.calcSumColumn').each(function(){
rowIndex = $(this).index();
$(this).closest('table').find('td').eq(rowIndex).each(function(){
sumColumn += Number( $(this).find('div').text() );
});
$(this).text(sumColumn);
});
要计算的 TD 示例:(所有要计算的 TD 看起来都一样)
<td class="calcInOut editable txtRight"><div contenteditable="true"></div></td>
显示列总和的示例 TD:(显示列总和的所有 TD 看起来都一样)
<td class="calcSumColumn txtRight"></td>
提前非常感谢, 迈克
【问题讨论】:
-
能否包含html,或者类似于你的html的demo
-
find('td').eq(rowIndex)只返回一个TD,而不是该列中的所有TDs。 -
刚刚更新了帖子。
-
这没有帮助。请张贴整个表格,并说明您希望在哪些单元格中填写什么值。
-
@Barmar:我无法发布整个表格,因为它太大而且是动态创建的。
标签: javascript jquery loops each nested-loops