2014-09-02 58 views
0

場景: 我在我的Intranet頁面上顯示一些業務統計信息的高圖,我想給用戶更改生成的圖表類型的選項。但在閱讀了多個SO帖子後,我沒有運氣。Highcharts更改下拉式圖表類型Jquery

我嘗試以下this後,其授予wasnt標記爲回答,但他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我的圖。任何幫助將不勝感激。

感謝,

邁克

回答

2

它有一個非常小的問題,實際上是cdhleads(圖表引用),您使用的是改變函數內部沒有得到圖表引用,因爲它是從它的範圍。所以你需要先拿到圖表參考爲:

var cdhleads = $('#CDHLeads').highcharts(); 

See your working Fiddle here

+0

哦!非常感謝!從字面上看,整個上午都停留在這個上面。 – Mike 2014-09-02 09:42:32

+1

無後顧之憂,如果回答你的問題也是正確的答案(: – 2014-09-02 09:43:16

+0

會盡快,3分鐘過去:) – Mike 2014-09-02 09:44:58

1

只需調用一個函數drawChart()(上onchange事件),它實際重新啓動圖表:

function drawChart() { 

    var options = { 

      chart: { 

       type: $("#filter").find("select[name=chartType]").val() 

      } 

    // ... Rest of the options 

    }; 

    $('#chart').highcharts(options); 

} 

它適合我。

+0

謝謝隊友,已經在你之前用過答案:)但是+1 – Mike 2014-09-02 09:57:51