【发布时间】:2018-08-01 08:12:54
【问题描述】:
我正在根据当前财政年度(即 2018-2019 年)在单击按钮时填充 amcharts。 代码如下:
function populateChartsBarFY(requestUriFY) {
var chartDataResults2 = [];
var AmountCollectedFYBar = 0;
$.ajax({
url: requestUriFY,
type: "GET",
async: false,
headers: { "ACCEPT": "application/json;odata=verbose" },
success: function (data) {
var dataResults = data.d.results;
var clr;
for (i = 0; i < dataResults.length; i++) {
var chartItems = dataResults[i];
var dist = chartItems.District;
var MineralCategory = chartItems.MineralCategory;
AmountCollectedFYBar = parseFloat(chartItems.LastMonthCollection);
if (MineralCategory == "Major" ) {
clr = "#67B7DC";
}
else if (MineralCategory == "Minor" ) {
clr = "#FDD302";
}
else if (MineralCategory == "Others" ) {
clr = "#83B762";
}
var flag = false;
for (var j = 0; j < chartDataResults2.length; j++) {
if (chartDataResults2[j].MineralCategory == MineralCategory) {
chartDataResults2[j].AmountCollected = (chartDataResults2[j].AmountCollected + AmountCollectedFYBar);
chartDataResults2[j].balloonTextField=( dist + "," + MineralCategory + "," + (chartDataResults2[j].AmountCollected));
flag = true;
}
}
if (flag == false) {
chartDataResults2.push({
States: dist,
MineralCategory : MineralCategory,
AmountCollected: AmountCollectedFYBar,
"color": clr,
balloonTextField: dist + "," + MineralCategory + "," + AmountCollectedFYBar,
});
}
AmCharts.ready(function () {
// SERIAL CHART
AmCharts.makeChart("chartdivdistFY", {
type: "serial",
dataProvider: chartDataResults2,
categoryField: "MineralCategory",
categoryAxis: {
labelRotation: 90,
gridPosition: "start",
gridThickness: 0,
},
graphs: [ {
valueField: "AmountCollected",
type: "column",
fillAlphas: 0.8,
colorField: "color",
balloonText :"[[balloonTextField]]",
labelText : "[[value]]",
type : "column",
lineAlpha :0,
fixedColumnWidth :25
} ],
chartCursor: {
cursorPosition: "mouse"
},
valueAxis:
{
dashLength:5,
title:"Collected Amount",
gridThickness:0,
axisAlpha:0,
},
});
});// JavaScript source code
} // for
}, //success
}); //ajax
AmountCollectedFYBar = 0;
} //populate charts
如果我从下拉列表中将当前年份选择值从“2018-2019”更改为“2015-2016”并将其传递给 requestUriFY,我的新图表不会被覆盖。
有人对此有解决方案吗?
【问题讨论】:
标签: javascript ajax amcharts