Javascript 来自ajax php程序的Highcharts系列setData
我在我的网站上使用Highcharts。然后是一个Ajax PHP过程,通过单击图例项从数据库动态加载数据。现在我想将结果设置到序列数据中,但没有成功,因为我无法使用“this”,因为“this”不再是图例项。您可以从下面的代码中理解它。我尝试了类似于Javascript 来自ajax php程序的Highcharts系列setData,javascript,php,ajax,highcharts,Javascript,Php,Ajax,Highcharts,我在我的网站上使用Highcharts。然后是一个Ajax PHP过程,通过单击图例项从数据库动态加载数据。现在我想将结果设置到序列数据中,但没有成功,因为我无法使用“this”,因为“this”不再是图例项。您可以从下面的代码中理解它。我尝试了类似于chart.series.setData[]的方法,但没有成功。感谢您为我提供的解决方案 <script> Highcharts.chart('myChart', { series: [<?echo $allnames;?
chart.series.setData[]
的方法,但没有成功。感谢您为我提供的解决方案
<script>
Highcharts.chart('myChart', {
series: [<?echo $allnames;?>],
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top'
},
plotOptions: {
series: {
events: {
legendItemClick: function() {
var jmeno=this.name;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myData= this.responseText;
//I am unable to use 'this' as it is not the legend item
this.setData([myData]);
}
};
xmlhttp.open("GET","/data.php?q="+jmeno,true);
xmlhttp.send();
}
}
}
},
});
</script>
Highcharts.chart('myChart'{
系列:[],
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“顶部”
},
打印选项:{
系列:{
活动:{
legendItemClick:函数(){
var jmeno=this.name;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
myData=this.responseText;
//我无法使用“this”,因为它不是图例项
这个.setData([myData]);
}
};
open(“GET”,”/data.php?q=“+jmeno,true);
xmlhttp.send();
}
}
}
},
});
已解决
<script>
Highcharts.chart('graf', {
title: {text: 'Hello darkness my old friend'},
series: [<?echo $allnames;?>],
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top'
},
plotOptions: {
series: {
events: {
legendItemClick: function() {
var jmeno=this.name;
var that=this;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var myData = this.responseText;
var splitData = myData.split(",");
var newData = [];
for(var i = 0;i<splitData.length;i++){
var num = splitData[i];
if(num != ""){
num = parseFloat(num);
newData.push(num);
}
}
that.setData(newData);
}
};
xmlhttp.open("GET","/data.php?q="+jmeno,true);
xmlhttp.send();
}
}
}
},
});
</script>
海图。海图('graf'{
标题:{text:'你好,我的老朋友'},
系列:[],
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“顶部”
},
打印选项:{
系列:{
活动:{
legendItemClick:函数(){
var jmeno=this.name;
var=这个;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=函数(){
if(this.readyState==4&&this.status==200){
var myData=this.responseText;
var splitData=myData.split(“,”);
var newData=[];
对于(var i=0;i