2015-02-24 54 views
0

我想創建一個變量選項,其中將包含用戶選擇的選項以及將在我的網頁上創建的圖表的主題選項,然後在圖表中傳遞這些選項{選項參數。圖表併成功地顯示出來,但主題不適用,我得到以下錯誤:動態更改Highcharts主題通過Jquery代碼不起作用

未捕獲的SyntaxError:意外的標記(

我不知道如果我能在傳遞選項highcharts這種方式取得成功。或者如果在代碼本身

這裏的一個問題是我的腳本: http://pastebin.com/WFqTeGpG

回答

0

您應該針對具體的圖表使用setOptions選擇合併您的主題選項

對於第一個,例如:http://jsfiddle.net/bwefs1ak/1/

var merged_options = $.extend(
    option1, 
    { 
     data: { 
      table: 'datatable' 
     } 
    } 
); 

$('#chartColumnChart').highcharts(merged_options); 

對於第二個,見any demo with theme。只需點擊「查看視覺主題」,最後一行負責設置主題。

注意:設置主題只會影響新的圖表,而不會影響現有的圖表。

+0

我不能合併選項,因爲數據需要使用獲取csv的函數來設置,我不明白爲什麼傳遞選項:option1並不是已經工作過,因爲所有其他選項都包含在option1中。對於視覺主題的最後一行,它不起作用,因爲它將頁面中的所有圖表更改爲相同的主題。 – user1826909 2015-02-24 16:28:51

+0

基本上,所有的主題選項都來自一個文件,例如:dark-unica.js,並且將其中的所有行粘貼到我的代碼中,並在其中添加用戶選擇的選項,然後,document.ready中的函數會選擇數據文件並將其放入圖表中,如果我嘗試將該主題中的所有選項放在該函數中,則它的第一行會使其崩潰,因爲您無法在該函數內使用Highcharts.createElement。因此,我真的需要一種方法來通過我的圖表中的所有選項,並分別設置數據。 – user1826909 2015-02-24 16:36:47

+0

爲什麼你不能合併數據?數據源在你的情況並不重要..我猜?它不工作,因爲你在JS中創建了一些奇怪的邏輯,而JS不以這種方式工作..我敢肯定我的解決方案上面應該解決你的問題,但或者你解釋的東西不好或我不明白的東西;) – 2015-02-25 11:09:46