我有一个getJson函数,带有一个名为“feed”的参数,它循环遍历多个URL。 我想创建一个Google图表,其中有多行与截图类似,每行都来自不同的JSON Feed。 然而,当我尝试时,它似乎只产生一行(我认为因为它循环而只是在循环中拾取最后的url)。 This is what I want to see
这是我添加的代码:
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 :(得分:0)
包装在一个闭包/ function
而不是for
循环中,应该锁定i
...
$.each(new Array(count), function (i) {
data.addRows([
[dataAll[i][0], dataAll[i][1]]
]);
});