我正在使用googlecharts插件来生成柱形图。
我还希望获得td中存在的值的平均值。是否有可能通过谷歌图表插件或任何人可以帮助我编写ajquery来计算平均值。 计算平均值后,我需要在段落标记中添加类“avg”。 谢谢你的帮助。
我的代码是:
<table id="weather">
<thead>
<tr>
<th></th>
<th>Mar</th>
<th>Apr</th>
<th>May</th>
<th>Jun</th>
<th>Jul</th>
<th>Aug</th>
</tr>
</thead>
<tbody>
<tr>
<th>Weather</th>
<td>20</td>
<td>22</td>
<td>18</td>
<td>24</td>
<td>20</td>
<td>22</td>
</tr>
</tbody>
</table>
和javascript代码:
<script type="text/javascript">
gvChartInit();
$(document).ready(function(){
$('#weather').gvChart({
chartType: 'ColumnChart',
gvSettings: {
width: 100,
height: 40,
colors:['gray'],
hAxis: {textPosition: 'none'},
vAxis: {minValue: 0, textPosition: 'none', gridlines: {color: '#ffffff'}},
legend: {position: 'none'}
}
});
</script>
答案 0 :(得分:2)
尝试这样的事情:
avg = 0, amount = 0;
$('td').each(function(){
avg += +($(this).text());
amount++;
});
avg /= amount;
$('.avg').text(avg);
但您可能希望确保它是正确的td
,因此您可以将tr
的ID设置为'weather',然后将$('td').each()
更改为{{1 }}
答案 1 :(得分:1)
您可以使用
var avg=0;
$('#weather td').each({function(){
avg=avg+parseInt($(this).text());
});
avg=avg/$('#weather td').length;
或
var avg=0;
var count=0;
$('#weather td').each({function(){
avg=avg+parseInt($(this).text());
count=count+1;
});
avg=avg/count;
后可以在p标签上添加平均值
$('p.avg').html(avg);
答案 2 :(得分:0)
这应该为您返回平均值:
var totalVal = 0,
iCount = $('#weather').find('td').length;
$('#weather').find('td').each(function(i,val){
totalVal = totalVal + parseInt($(val).text());
});
alert('Avg = '+totalVal/iCount);