我一直在尝试...大约4个小时了,lmao。
currentCalc返回50
当我警告他们时currentSum返回0。但是我不能将它们与parseInt一起添加?
我究竟做错了什么 :'(
var identRow = $('tr.identRow');
identRow.each(function () {
var getIdentClass = $(this).attr('class').split(' ').slice(1);
$('tr.ohp' + getIdentClass + ' td.EURm').each(function (index) {
var currentCalc = parseInt($(this).text().replace('.', ''), 10);
var currentSum = $('tr.' + getIdentClass + ' td.totalEURm', this).text().replace('.', '');
total = parseInt(currentCalc, 10) + parseInt(currentSum, 10);
$('tr.' + getIdentClass + ' td.totalEURm').text(total);
if (index == 6) {
alert(total);
}
});
});
编辑:
我的天啊。我现在完全困惑了。我把休息时间放在那里。总计= 50。
我希望每次迭代都将自身添加到总数中。这就是为什么我将currentCalc添加到将currentCalc放入其中的字段文本中的原因。
$('tr.' + getIdentClass + ' td.totalEURm').text(total);
现在我的代码是这样的:
var identRow = $('tr.identRow');
identRow.each(function () {
var getIdentClass = $(this).attr('class').split(' ').slice(1);
$('tr.ohp' + getIdentClass + ' td.EURm').each(
function (index) {
var currentCalc = parseInt($(this).text().replace('.', ''), 10) || 0;
var currentSum = parseInt($('tr.' + getIdentClass + ' td.totalEURm', this).text().replace('.', ''), 10) || 0;
var total = currentCalc + currentSum;
$('tr.' + getIdentClass + ' td.totalEURm').text(total);
if (index === 6) {
alert(total);
}
});
});
它会发出警报:50,然后是0,然后是50,然后是0。
编辑:
如何将currentCalc添加到其最后一个值?
因此,第一次迭代为10,秒为20。我如何在第二次迭代中使它等于30。currentCalc++只是将其加1。
现在,您了解我的意思了:)
最佳答案
我不是JS方面的专家,但是我看到currentCalc已经是一个int了:
var currentCalc = parseInt($(this).text().replace('.',''), 10);
//...
total = parseInt(currentCalc, 10) + parseInt(currentSum, 10);
所以很可能在一个int上的parseInt而不是在一个字符串上失败(?)