Joh*_*ann 17 javascript jquery charts highcharts
我正在构建折线图,当我点击该线的某个点时,我希望显示一个包含有关此点的一些数据的弹出窗口.我试图解决的问题是获取id,与此点相关的系列或类似的东西.
这是我的代码:
plotOptions: {
column: {
pointWidth: 20
},
series: {
cursor: 'pointer',
events: {
click: function(event) {
requestData(event.point);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试过了
requestData(this.point)
Run Code Online (Sandbox Code Playgroud)
,
requestData(this.point.id)
Run Code Online (Sandbox Code Playgroud)
但也没有用.
我们如何得到一个点的id?
非常感谢.
use*_*716 16
根据文档,event.point包含指向图上最近点的指针.
所以我写到event.point控制台,看看有什么可用.
console.log(event.point);
Run Code Online (Sandbox Code Playgroud)
click:单击系列时触发.this关键字指的是系列对象本身.一个参数event传递给函数.这包含基于jQuery或MooTools的常见事件信息,具体取决于哪个库用作Highcharts的基础.此外,event.point包含指向图上最近点的指针.
基于文档示例的示例: http ://jsfiddle.net/5nTYd/
单击一个点,然后检查控制台.
小智 11
我只是通过将3个对象传递到系列数据数组中,然后从点击中将其从对象的配置属性中拉出来.
所以你可以构建你的系列数据:
series: [{
name: 'Example',
yAxis: 0,
type: 'spline',
data: [[1294099200000,220.0,37],[1296432000000,190.0,40],[1297036800000,184.4,5]]
}]
Run Code Online (Sandbox Code Playgroud)
在上面的data属性中,第一个元素是日期(x),第二个元素是另一个数据点(y),第三个元素是表示该数据对象的对象的id.这个"z"不会显示在图表上,但会显示为配置数组中的第3个元素.例如:使用plotOptions point属性捕获click,对象的ID在alert中作为this.config [2]
plotOptions: {
series: {
cursor: 'pointer',
point: {events: {click: function() {console.log(this); alert('Category: '+ this.category +', value: '+ this.y + 'Series: ' + this.series.name + ' ID: ' + this.config[2])}}}
}
},
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36888 次 |
| 最近记录: |