2014-02-13 68 views
0

我需要從多個(5)表中獲得一列的總和,並將這些總和添加到谷歌餅圖中的5個實例。 我認爲我的代碼非常接近,但只是不能解決我出錯的地方。獲取表格列的總和並添加到谷歌圖表

function drawChart() { 

     // calculate the sum of each table 
     function sum($inputs) { 
     var sum=0; 
     //iterate through each input and add to sum 
     $inputs.each(function() {  
       sum += parseInt($(this).text());      
     });   

     var data = google.visualization.arrayToDataTable([ 
      ['Type', 'Cost'], 
      ['Expense',  sum($('#expenses .amount'))], 
      ['Savings',  sum($('#savings.amount'))], 
      ['Commute', 2], 
      ['Watch TV', 2], 
      ['Sleep', 7] 
     ]); 

     var chart = new google.visualization.PieChart(document.getElementById('piechart_3d')); 
     chart.draw(data, options); 
     } 
    } 
+0

中有什麼chart.draw功能選項? – Vinoth

+0

爲了簡潔,我刪除了這些選項。應該提到 – user537137

回答

1

您需要返回函數和中的總和值。

function drawChart() { 

    // calculate the sum of each table 
    function sum($inputs) { 
    var sum=0; 
    //iterate through each input and add to sum 
    $inputs.each(function() {  
      sum += parseInt($(this).text());      
    }); 
    return sum; 
}   

    var data = google.visualization.arrayToDataTable([ 
     ['Type', 'Cost'], 
     ['Expense',  sum($('#expenses .amount'))], 
     ['Savings',  sum($('#savings.amount'))], 
     ['Commute', 2], 
     ['Watch TV', 2], 
     ['Sleep', 7] 
    ]); 

    var chart = new google.visualization.PieChart(document.getElementById('piechart_3d')); 
    chart.draw(data, options); 

} 
+0

這是工作,歡呼 – user537137

+0

最後的括號是不需要的。我的不好 – anurupr

1

嘗試以下操作:

function drawChart() { 

    // calculate the sum of each table 
    function sum($inputs) { 
    var sum=0; 
    //iterate through each input and add to sum 
    $inputs.each(function() {  
      sum += parseInt($(this).text());      
    });   
    return sum; 
    } 
    var data = google.visualization.arrayToDataTable([ 
     ['Type', 'Cost'], 
     ['Expense',  sum($('#expenses .amount'))], 
     ['Savings',  sum($('#savings.amount'))], 
     ['Commute', 2], 
     ['Watch TV', 2], 
     ['Sleep', 7] 
    ]); 

    var chart = new google.visualization.PieChart(document.getElementById('piechart_3d')); 
    chart.draw(data, options); 
} 
+0

這隻返回第一個 - 費用... – user537137

+0

你在開玩笑嗎?這與您標記爲答案的方法完全相同! :D –

+0

對不起,剛剛去了頂部。 :) – user537137