来自addEventListener的Javascript返回变量
这是关于。这是我问过你的。谢谢你的解决方案,我可以解决这个问题。但是现在,我已经将keyChartData声明为全局变量,现在我根据所选选项加载JSON数据并将其存储到keyChartData,我需要在AmCharts.ready函数中捕获它来绘制图形。在函数外,keyChartdata的值为空,如何克服这一障碍。请帮忙。keyChartdata不是处理程序外部的blacnk。当ready调用时,它是空的 尝试添加console.log1;更改handler和console.log2;准备好处理程序。也许你会看到2,然后是1。您必须在退出更改处理程序之前启动ready,或者只需调用另一个函数即可创建AmCharts.AmSerialChart并将keyChartData复制到chart.dataProvider。当keyChartData发生更改时,是否有方法重新加载AmCharts?来自addEventListener的Javascript返回变量,javascript,jquery,json,Javascript,Jquery,Json,这是关于。这是我问过你的。谢谢你的解决方案,我可以解决这个问题。但是现在,我已经将keyChartData声明为全局变量,现在我根据所选选项加载JSON数据并将其存储到keyChartData,我需要在AmCharts.ready函数中捕获它来绘制图形。在函数外,keyChartdata的值为空,如何克服这一障碍。请帮忙。keyChartdata不是处理程序外部的blacnk。当ready调用时,它是空的 尝试添加console.log1;更改handler和console.log2;准备好处理
var jobj = [];
var keyChartData = null;
var chartData = [{
"name": "John",
"points": 35654,
"color": "#7F8DA9",
"bullet": "0.gif"
}, {
"name": "Damon",
"points": 65456,
"color": "#FEC514",
"bullet": "1.gif"
}, {
"name": "Patrick",
"points": 45724,
"color": "#DB4C3C",
"bullet": "2.gif"
}, {
"name": "Mark",
"points": 13654,
"color": "#DAF0FD",
"bullet": "3.gif"
} {
"name": "Mark",
"points": 43244,
"color": "#DAF0FD",
"bullet": "3.gif"
} {
"name": "Patrick",
"points": 64643,
"color": "#DB4C3C",
"bullet": "2.gif"
}, {
"name": "Patrick",
"points": 73724,
"color": "#DB4C3C",
"bullet": "2.gif"
}, {
"name": "John",
"points": 65672,
"color": "#DB4C3C",
"bullet": "2.gif"
}, ];
var select = document.getElementById("selector");
var lookup = {};
var len = chartData.length;
for (var i = 0; i < len; i++) {
var item = chartData[i];
var name = item.name;
var option = document.createElement("option");
option.value = i;
option.textContent = name;
select.appendChild(option);
};
select.addEventListener('change', function () {
var selValue = select.options[select.selectedIndex].name;
for (var i = 0; i < len; i++) {
var item = chartData[i];
var name = item.name;
//alert("selValue: "+selValue+" Key: " +key);
if(selValue === name){
jobj.push(JSON.stringify(chartData[i]));
}
}
keyChartData = JSON.parse(JSON.stringify(jobj));
})
alert(keyChartData);
AmCharts.ready(function () {
// SERIAL CHART
chart = new AmCharts.AmSerialChart();
chart.pathToImages = "http://www.amcharts.com/lib/3/images/";
chart.dataProvider = keyChartData;
..........
}