2017-03-25 3 views
2

複数のURLをループする「feed」というパラメータを持つgetJson関数があります。 異なるJSONフィードからの各行のスクリーンショットに似た複数行のGoogle Chartを作成したいと思います。 しかし、私が試してみると、それはちょうど1行を生成しているようです(私はループしていると思うが、ループの最後のURLをピックアップしていると思う)。 This is what I want to seeGoogle Chartで複数の行を作成するにはgetJson URLをループする

これは私が追加したコードです:代わりにforループの閉鎖/ function

function chartLoop(feed){ 
var chartDivs = "chart_div1"; 
$.getJSON(feed + '&start_date=' + dateFrom + '&end_date=' + dateTo + '&' + order , function(json){ 

var dataSet = json.dataset; 
var dataAll = json.dataset.data; 
var title = dataSet.name; 
var database = dataSet.database_code; 
var count = dataAll.length; 

    // Load the Visualization API and the corechart package. 
    google.charts.load('current', {'packages':['corechart']}); 

    // Set a callback to run when the Google Visualization API is loaded. 
    google.charts.setOnLoadCallback(drawChart); 

    // Callback that creates and populates a data table, 
    // instantiates the pie chart, passes in the data and 
    // draws it. 
    function drawChart() { 

    // Create the data table. 
    var data = new google.visualization.DataTable(); 



    data.addColumn('string', 'Date'); 
    data.addColumn('number', 'Amount'); 


    for(var i = 1; i < count ; i++) { 




    data.addRows([ 
    [dataAll[i][0], dataAll[i][1]] 
    ]);  

    } 
    // Set chart options 
    var options = {'title':title, 
        'width':1000, 
        'height':700}; 

    // Instantiate and draw our chart, passing in some options. 
    var chart = new google.visualization.LineChart(document.getElementById(chartDivs)); 
    chart.draw(data, options); 
    } 



})}; 

答えて

0

ラッピングを、iの値をロックする必要があります...

$.each(new Array(count), function (i) { 
    data.addRows([ 
    [dataAll[i][0], dataAll[i][1]] 
    ]);  
}); 
+0

任意のこの質問で運がいい? – WhiteHat

関連する問題