是否可以计算表格的平均等级? 我只找到了输入字段的答案。 我想在“totalAvg”中显示页脚的平均值。 我不知道是否可以使用jQuery-Plugin?
<table class="kader">
<tbody>
<tr class="head">
<th colspan="1">Nr</th>
<th colspan="1">Gegner</th>
<th colspan="1">Tore</th>
<th colspan="1"><span class="positionc pos_11">11</span></th>
<th colspan="1">Asissts</th>
<th colspan="1"><span class="positionc pos_yc"></span></th>
<th colspan="1"><span class="positionc pos_yc"></span> <span class="positionc pos_rc"></span></th>
<th colspan="1"><span class="positionc pos_rc"></span></th>
<th colspan="1">Grade 1</th>
<th colspan="1">Grade 2</th>
<th colspan="1">Grade 3</th>
</tr>
</tbody>
<tbody>
<tr>
<td>1.</td>
<td>FC Augsburg</a></td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note"><span class="position pos_y">3</span></td>
<td class="mini_note"><span class="position pos_y">3,5</span></td>
<td class="mini_note"><span class="position pos_y">3</span></td>
</tr>
<tr>
<td>2.</td>
<td>1899 Hoffenheim</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note">-</td>
<td class="mini_note"><span class="position pos_y">4</span></td>
<td class="mini_note"><span class="position pos_r">4,5</span></td>
<td class="mini_note"><span class="position pos_y">4</span></td>
</tr>
</tbody>
<tbody>
<tr class="footer">
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1"></th>
<th colspan="1" class="totalAvg"></th>
<th colspan="1" class="totalAvg"></th>
<th colspan="1" class="totalAvg"></th>
</tr>
</tbody>
</table>
答案 0 :(得分:1)
以下是您需要更改的一些代码,以满足您的确切需求。
var sums = [];
var counts = [];
$('tr:not(.head)').each(function(){
$(this).children('td').each(function(index){
var value = +$(this).text().replace(',', '.');
sums[index] = (sums[index] || 0) + (isNaN(value) ? 0 : value);
counts[index] = (counts[index] || 0) + (isNaN(value) ? 0 : 1);
});
});
$('table tbody').last().append('<tr id="averages">');
sums.forEach(function(item, index) {
$('#averages').append($('<td>').html(sums[index]/counts[index]));
});
演示:http://jsbin.com/oMOWOmo/2/edit
PS:我知道它会计算Number列的平均值。我觉得这样比较好。
PSS:如果您的表格结构更好,那么解决方案将更简单直接。