读书人

求表格每行的平均数!解决办法

发布时间: 2012-02-23 22:01:35 作者: rapoo

求表格每行的平均数!!
有下面这样一个表格,1至12月。每个地区的月份可能会有值。要求:每行数字相加后除每行的列数。如何写?
<table border= "1 ">
<tr>
<td> 名称 </td>
<td> 1月 </td>
<td> 2月 </td>
<td> 3月 </td>
<td> 4月 </td>
<td> 5月 </td>
<td> ... </td>
<td> 12月 </td>
<td> 平均分 </td>
</tr>
<tr>
<td> 长春 </td>
<td>   </td>
<td> 50 </td>
<td>   </td>
<td> 30.9 </td>
<td>   </td>
<td>   </td>
<td> 80 </td>
<td>   </td>
</tr>
<tr>
<td> 吉林 </td>
<td> 40 </td>
<td>   </td>
<td> 77 </td>
<td> 70 </td>
<td>   </td>
<td>   </td>
<td> 70 </td>
<td>   </td>
</tr>
<tr>
<td> 延吉 </td>
<td> 70 </td>
<td>   </td>
<td> 70 </td>
<td>   </td>
<td>   </td>
<td> 70 </td>
<td>   </td>
<td>   </td>
</tr>
<tr>
<td> 松原 </td>
<td> 70 </td>
<td>   </td>
<td> 70 </td>
<td> 70 </td>
<td> 70 </td>
<td>   </td>
<td>   </td>
<td>   </td>
</tr>
</table>

[解决办法]
<script>
var tableobj=document.getElementById( "tableid "); '注意tableid改成你的表格的id
for(i=1;i <tableobj.rows.length;i++)
{ result=0;
row=tableobj.rows[i];
for(r=1;r <row.cells.length;r++)
{
if(!isNaN(parseFloat(row.cells[r].innerText)))


{
//alert(row.cells[r].innerText);
result+=parseFloat(row.cells[r].innerText);
}
}
row.cells[row.cells.length-1].innerText=result/row.cells.length-2;
}
</script>
[解决办法]
有点小错误
row.cells[row.cells.length-1].innerText=result/row.cells.length-2;
请改成
row.cells[row.cells.length-1].innerText=result/(row.cells.length-2);


[解决办法]
function sum(tableId) {
var cols = 0;
var rowTs = 0;
for (var i = 1; i < tableId.rows.length; i++) {
for (var j = 1; j < 13; j++) {
if (!isNaN(tableId.rows(i).cells(j).innerHTML)) {
rowTs += parseFloat(tableId.rows(i).cells(j).innerHTML);
cols++;
}
}
tableId.rows(i).cells(j).innerHTML = rowTs/cols;
cols = 0;
rowTs = 0;
}
}
sum(t);

读书人网 >JavaScript

热点推荐