-1

縦棒グラフを生成するために googlecharts プラグインを使用しています。

また、td に存在する値の平均も取得したいと考えています。Googleチャートプラグインを介して可能ですか、それとも平均を計算するための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>
4

3 に答える 3

2

次のようなことを試してください:

avg = 0, amount = 0;
$('td').each(function(){
    avg += +($(this).text());
    amount++;
});
avg /= amount;
$('.avg').text(avg);

しかし、それが正しいことを確認したい場合があるtdので、tr'weather' のような ID$('td').each()を使用して、$('#weather td').each()

于 2012-12-17T17:29:01.563 に答える
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タグにavgを追加した後

$('p.avg').html(avg);
于 2012-12-17T17:31:19.767 に答える
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);

</p>

于 2012-12-17T17:33:10.247 に答える