Javascript 数据加载器amchart v3中的循环
我有一个数据数组,例如,我的HTML视图中有3个Cardview 每个Cardview都有自己的数据,尤其是在显示图表时 我已经可以获取循环中的数据,并且已经可以获取每个图表的值,但是当我运行它时,只有一个图表正在加载,另外两个Cardview没有加载 这是我的循环和代码Javascript 数据加载器amchart v3中的循环,javascript,php,jquery,codeigniter,amcharts,Javascript,Php,Jquery,Codeigniter,Amcharts,我有一个数据数组,例如,我的HTML视图中有3个Cardview 每个Cardview都有自己的数据,尤其是在显示图表时 我已经可以获取循环中的数据,并且已经可以获取每个图表的值,但是当我运行它时,只有一个图表正在加载,另外两个Cardview没有加载 这是我的循环和代码 for(i=0; i<chart.length;i++){ ///Assume that it has a length of 3 //Single view AmCharts.mak
for(i=0; i<chart.length;i++){ ///Assume that it has a length of 3
//Single view
AmCharts.makeChart("chartdiv", {
type: "serial",
theme: "light",
marginRight: 40,
marginLeft: 40,
autoMarginOffset: 20,
mouseWheelZoomEnabled: true,
dataDateFormat: "YYYY-MM-DD",
dataLoader: {
url: url/?id=charr[i].id,
format: "json"
},
categoryField: "date",
rotate: false,
categoryAxis: {
gridPosition: "start",
axisColor: "#DADADA",
},
valueAxes: [{
id: "v1",
axisAlpha: 0,
position: "left",
ignoreAxisWidth: true
}],
graphs: [{
id: "g1",
fillAlphas: 0.5,
balloon: {
borderThickness: 3,
horizontalPadding: 17,
offsetX: 50,
offsetY: 8
},
bullet: "round",
bulletBorderAlpha: 1,
bulletColor: "#FFFFFF",
bulletSize: 5,
hideBulletsCount: 50,
lineColor: "#2AB4C0",
lineThickness: 2,
title: "Total",
useLineColorForBulletBorder: true,
valueField: "total",
balloonText: "[[title]] [[date]]:<b>[[total]]</b>"
}],
chartScrollbar: {
graph: "g1",
oppositeAxis: false,
offset: 30,
scrollbarHeight: 80,
backgroundAlpha: 0,
selectedBackgroundAlpha: 0.1,
selectedBackgroundColor: "#888888",
graphFillAlpha: 0,
graphLineAlpha: 0.5,
selectedGraphFillAlpha: 0,
selectedGraphLineAlpha: 1,
autoGridCount: true,
color: "#AAAAAA"
},
chartCursor: {
pan: true,
valueLineEnabled: true,
valueLineBalloonEnabled: true,
cursorAlpha: 1,
cursorColor: "#258cbb",
limitToGraph: "g1",
valueLineAlpha: 0.2,
valueZoomable: true
},
valueScrollbar: {
oppositeAxis: false,
offset: 50,
scrollbarHeight: 10
},
"categoryAxis": {
labelRotation: 90,
"wrap": true,
"parseDates": false,
"dashLength": 1,
"minorGridEnabled": true,
},
export: {
enabled: true
}
});
}
我已经可以得到3个图表的响应,但不是为第一个Cardview加载图表的第一个响应
[0]
[1]
[2]
,在第一个Cardview上显示的值是[2]元素,而不是第一个元素,我不知道该怎么办,我在Amchart中遇到了这个循环。您需要为不同的图表分配不同的ID。当前代码在循环中运行了3次,但每次都将图表分配给
chartdiv
您需要有3个Div,如下所示:
<div id="chartdiv0" style="width: 640px; height: 400px;"></div>
<div id="chartdiv1" style="width: 640px; height: 400px;"></div>
<div id="chartdiv1" style="width: 640px; height: 400px;"></div>
然后在循环内的JS代码中,您需要将图表分配给正确的div
for(i=0; i<chart.length;i++){ ///Assume that it has a length of 3
//Single view
AmCharts.makeChart("chartdiv" + i , { //Notice i is appended to reference the div.
(i=0;i)的
for(i=0; i<chart.length;i++){ ///Assume that it has a length of 3
//Single view
AmCharts.makeChart("chartdiv" + i , { //Notice i is appended to reference the div.