情境: 我在我的Intranet页面上有一个显示一些业务统计数据的高图,我想让用户可以选择更改生成的图表类型。但在阅读了多篇SO帖后,我没有运气。
我尝试关注this帖子,该帖子未被标记为已回答,但他的FIDDLE似乎做了我想做的事
我从该解决方案中获取了此代码:
$("#chartType").change(function() {
var type = this.value;
if(type !== '0') {
$(chart.series).each(function(){
this.update({
type: type
}, false);
});
chart.redraw();
}
});
我似乎遇到的问题是我以不同的方式构建我的图形以及他是如何做到的,我似乎无法理解他在做什么(我在Jquery不是那么好,甚至更糟糕的是Highcharts的东西)
这是我FIDDLE的尝试,也是我能够得到的最远的。我不确定为什么它不会redraw
我的图表。任何帮助将不胜感激。
谢谢,
麦克
答案 0 :(得分:2)
它有一个非常小的问题,实际上你在更改函数中使用的cdhleads(图表引用)没有得到图表引用,因为它超出了它的范围。所以你需要先得到图表参考:
var cdhleads = $('#CDHLeads').highcharts();
<强> See your working Fiddle here 强>
答案 1 :(得分:1)
只需调用一个函数drawChart()(在onchange事件上),它实际上重新启动了图表:
function drawChart() {
var options = {
chart: {
type: $("#filter").find("select[name=chartType]").val()
}
// ... Rest of the options
};
$('#chart').highcharts(options);
}
它对我有用。