我正在使用 AmCharts 来显示一些图表,并且我正在尝试从使用 jquery 获取的一系列 JSON 数据集中动态添加数据getJSON
简而言之,我的问题是,如何循环使用各种数据集为图表创建数据集,例如:
$.getJSON("GET NUMBER OF DATA SETS REQUIRED", function (locdata) {
$.each(locdata, function (i, item) {
$.getJSON("GET DATA FOR THIS DATASET", function (data) {
var dataSet = new AmCharts.DataSet();
dataSet.title = locdata[i].name;
dataSet.fieldMappings = [{
fromField: "takings",
toField: "takings"
}, {
fromField: "qty",
toField: "qty"
}];
dataSet.dataProvider = data; ;
dataSet.categoryField = "date";
)};
)};
)};
解释我在这里做什么:
- 首先,从我的数据库中获取一些 JSON 输出以确定需要多少记录集
- 循环遍历结果以创建记录集
- 在每个循环期间,数据由第二个 jQuery
getJSON
调用获取,以根据此记录集所需的数据获取数据 - 创建 AmCharts 数据集
我可以通过显式编码来手动执行此操作以单独创建每个数据集,然后执行
chart.dataSets = [dataSet0, dataSet1, dataSet2, dataSet3, dataSet4];
所以我想我需要做的是把上面的整个代码变成某种函数,根据上面的行生成一个数据集数组?
我不知道如何用javascript做到这一点