【发布时间】:2015-08-21 06:49:27
【问题描述】:
我是 jQuery 新手,希望有人能帮助我。
我有一个动态创建的大型表,其中包含 3 列,一列用于需要减去的金额,一列用于需要添加的金额,另一列用于每行的总和。
到目前为止,我的以下内容按预期工作。
但是,在 tbody 的第一行,检查上一行的总和是没有意义的,因为没有上一行。
只有在这种情况下,它才应该采用出现在第 th 行 (class= "calcStart") 中的初始余额,而不是前一行的总和。
谁能告诉我如何实现这一目标?
另外,如果在我的代码中有可以写得更好/更短的东西,也请告诉我。
我的 JS:
var calcMinus, calcPlus;
var calcSum = 0;
$(document).on('keyup', '.calcMinus, .calcPlus', function(){
$(this).closest('table tbody').find('td.calcSum').each(function(){
calcMinus = Number( $(this).closest('tr').find('td.calcMinus').find('div').text() );
calcPlus = Number( $(this).closest('tr').find('td.calcPlus').find('div').text() );
if((calcMinus == '') && (calcPlus == '')){
$(this).text('0');
}else{
calcSum += Number( $(this).closest('tr').prev('tr').find('td.calcSum').text() );
calcSum -= calcMinus;
calcSum += calcPlus;
$(this).text(calcSum);
}
calcSum = 0;
});
});
提前非常感谢, 迈克
【问题讨论】:
-
谢谢 - 我会试试看。
-
不看HTML很难说。请设置一个工作示例,最好使用 StackOverflow 代码 sn-ps。
标签: javascript jquery loops each