在我的代码中,我正在初始化图表......
<script type="text/javascript">
var chart = null,
defaultOptions = {
chart: etc etc
};
function drawDefaultChart() {
chart = new Highcharts.Chart(defaultOptions);
}
$(function() {
$(document).ready(function() {
drawDefaultChart();
});
});
</script>
然后在我身上
<a href="#" onclick="drawDefaultChart()">Reset</a>
但是当你点击链接时,它所做的就是用前一个状态的设置重绘图形...我不太清楚发生了什么。如果我添加chart.destroy();图表根本不起作用......
function drawDefaultChart() {
chart.destroy(); //this makes the chart not work at all
chart = new Highcharts.Chart(defaultOptions);
}
你可以清楚地看到我正在假设要重新绘制图表的默认选项....我不明白为什么它使用旧的过滤器设置,我即将跳下一座桥,有人可以帮忙吗?
我的实例是http://goo.gl/sGu0M
////////更新
我能够用大量的血,汗和泪来做。我最终将数据放入另一个页面上的php变量(以节省空间),然后使用php变量调用它,然后我每次有人点击链接时都会调用它。我发现,为了重绘图形,您必须每次重新加载所有数据。 PHP使屏幕上的数据量变得更容易。
这是最终帮助我解决问题的链接。 http://jsfiddle.net/dane/YUa3R/34/
答案 0 :(得分:6)
答案 1 :(得分:1)
首先,我知道没有关于highcharts,但看起来你需要:(来自你的实际页面)
function drawDefaultChart() {
$("#container").empty();
chart = new Highcharts.Chart(defaultOptions);
}
是
function drawDefaultChart() {
$("#container").empty().highcharts(defaultOptions);
}
或许:
function drawDefaultChart() {
$("#container").highcharts(defaultOptions);
}