我有一个大型HTML表格,每24小时自动更新一次新数据。第5列包含由换行符分隔的每行中的多个数字,每个数字包含类.remaining-detail
。我想从每一行添加数字,然后找到哪一行包含第5列中的最大总和。
<table>
<tr class="row-3 odd">
<td class="column-1 ">ID</td><br><br><td class="column-2 "> <a href="*" class="ex" title="Big Money">Name</a><br>
<br><td class="column "> <a href="*" class="ex" title="Big Money">Area</a><br>
<br>
</td><td class="column-3 ">$5</td><td class="column-4 "> <div class="remaining-detail">$100,000.00</div>
<div class="remaining-detail">$10,000.00</div>
<div class="remaining-detail">$1,000.00</div>
<div class="remaining-detail">$500.00</div>
<div class="remaining-detail">$400.00</div>
<div class="remaining-detail">$100.00</div><br><br>
</td><td class="column-5 "> <div class="remaining-detail">1</div><br>
<div class="remaining-detail">0</div><br>
<div class="remaining-detail">36</div><br>
<div class="remaining-detail">64</div><br>
<div class="remaining-detail">100</div><br>
<div class="remaining-detail">972</div><br>
</td>
</tr></table>
<br>
我正在添加这样的数字:
$(document).ready(function(){
var sum = 0;
$('.row-2 .column-5 .remaining-detail').each(function () {
sum += parseInt($(this).html().replace(',',''));
});
$('#sum2').text(sum);
});
这适用于单个实例。我将如何为.ROW N .column-5 .remaining-detail
执行此操作,然后找到总和最大的行?
这是我现在所掌握的一个小提琴:http://jsfiddle.net/3LHb8/
答案 0 :(得分:0)
可悲的是,这就是你要找的东西
$(document).ready(function(){
var maxsum = 0;
$(".column-5").each(function(){
alert('inside');
var coloumnSum = 0;
$(this).find(".remaining-detail").each(function(){
coloumnSum = coloumnSum + parseInt($(this).html(), 10);
});
if(maxsum < coloumnSum){
maxsum = coloumnSum;
}
});
alert(maxsum);
});
答案 1 :(得分:0)
您可以使用两个嵌套的.each()
循环来完成此操作。这是一个例子:
$(document).ready(function(){
var sums = [];
$('tbody tr').each(function() {
var rowSum = 0;
$(this).find('.remaining-detail').each(function () {
rowSum += parseInt($(this).html().replace(',',''));
});
sums.push(rowSum);
});
$('#sum2').text("Biggest sum is in row " + (1 + sums.indexOf(Math.max.apply(Math, sums))));
});
Here's the jsFiddle。我存储每行的总和,然后打印具有最高总和的行,但您可以做任何您需要的变化。希望它有所帮助。
答案 2 :(得分:-1)
很难说没有HTML ...你能分享至少2行你的html表,我们可以提供帮助。
噢,你可以尝试这样的事情:var sum = 0;
var sum2 = 0;
var trIndex = 0;
$('.row-2 .column-5').each(function () {
sum = 0;
$(this').find('.remaining-detail').each(function () {
sum += parseInt($(this).html().replace(',',''));
});
if (sum > sum2)
{
sum2 = sum;
trIndex = $(this).parents('tr').index();
}
});
}
alert('row='+trIndex+' sum='+sum2);
$('tr').eq(trIndex-1).css('background-color','#ff0000');
修改
感谢您分享一些HTML,请告诉我们我们提供的示例代码是否适合您:)