有一段时间我现在试图根据我所做的javascript
函数填写一个amChart。我想要的是设置许多不会改变的图表属性作为变量,我可以在许多制作或填充图表的函数中使用它。我的代码是:
var chartProperties = {
"theme": "light",
"type": "serial",
"startDuration": 1,
"dataProvider": [],
"rotate": false,
"categoryField": "organisatie",
"valueAxes": [ {
"gridColor": "#FFFFF",
"minimum": 0,
"gridAlpha": 0.2,
"dashLength": 0
} ],
"gridAboveGraphs": true,
"startDuration": 1,
"graphs": [ {
"balloonText": "[[category]]: <b>[[value]]</b>",
"fillColorsField": "fillcolor", //Dit veld heb ik meegegeven vanuit SQL functie en bevat de HEX kleurcodes BD
"fillAlphas": 0.8,
"lineAlpha": 0.2,
"type": "column",
"valueField": "score"
} ],
"chartCursor": {
"categoryBalloonEnabled": false,
"cursorAlpha": 0,
"zoomable": false
},
"categoryAxis": {
"gridPosition": "start",
"gridAlpha": 0,
"tickPosition": "start",
"tickLength": 20
},
"export": {
"enabled": true
}
};
var chart = AmCharts.makeChart("chartaveragescore", chartProperties);
var organization = $("#organization").val();
var indicator = $("#indicators").val();
var funcid = "fill_chart_average_score";
var dataChart = $.getJSON('functions/getfunctions.php', {
"organization":organization,
"indicator":indicator,
"funcid":funcid});
function updateOrganizationAverageScore() {
chart.dataProvider = dataChart;
chart.validateData();
}
我不明白我做错了什么。我可以将$ .getJSON设置为变量吗?非常感谢任何帮助。
答案 0 :(得分:0)
我自己已经解决了。我在Stack上看到了这一点,发现我无法使用var =
直接设置$.getJSON
,然后再使用它,因为我错过了回调。
我现在可以使用的代码是:
function updateOrganizationAverageScore() {
var organization = $("#organization").val();
var indicator = $("#indicators").val();
var funcid = "fill_chart_average_score";
//console.log('changed');
$.getJSON('functions/getfunctions.php', {
"organization":organization,
"indicator":indicator,
"funcid":funcid},
function(dataChart) {
var chart = AmCharts.makeChart("chartaveragescore", chartProperties);
chart.dataProvider = dataChart;
chart.validateData();
chart.startDuration = 1;
});
}