2015-10-20 21 views
1

我想呈現一個使用JSON數據作爲源的Highchart。但是,不是將它存儲在不同的文件或網頁中,而是在同一頁面的HTML部門中創建(從MYSQL查詢)。我可以做什麼樣的變化下面的代碼,以便它會讀取所需的DIV JSON數據(我們稱之爲JSONContainer):如何從High Drts的同一頁面上的HTML DIV中獲取JSON數據?

$.getJSON('data.json', function(data) { 
    options.series[0].data = data; 
    var chart = new Highcharts.Chart(options); 
}); 

我代替'data.json'試圖getElementByID('JSONContainer')但我想這是不正確的方法來做到這一點。我能做什麼?

編輯: 這是我的代碼:

$.getJSON("getElementById(JSONContainer)", function(json) { 
    options.xAxis.categories = json[0]['data']; //rendering X Axis 
    $.each(json, function(index, value) { 
      options.series[index-1] = value; //Making sure we skip first as that is X Axis 
    }); 
    chart = new Highcharts.Chart(options); 
}); 
+0

你作爲'data'獲得了什麼? –

+0

這段代碼中的'data.json'是一個存儲數據的json文件。 – theHeman

+0

不是......當你做'$ .getJSON'時,你會得到什麼迴應? –

回答

2

你不需要做$.getJSON得到這已經是在HTML DIV中的數據。

如果你的數據是這樣的下面

<div id="JSONContainer">[{"name":"LOG_DATE","data":["2015-09-08","2015-09-09"]},{"name":"a","data":[30.5‌​,87.5]},{"name":"b","data":[55.5,82.4]},{"name":"c","data":[82,57.46]},{"name":"d‌​","data":[82.4,87.4]}]</div> 

只是這樣做

var json = JSON.parse($('#JSONContainer').text()); 

options.xAxis.categories = json[0]['data']; //rendering X Axis 
$.each(json, function(index, value) { 
    options.series[index-1] = value; //Making sure we skip first as that is X Axis 
}); 
chart = new Highcharts.Chart(options); 

PS:周圍的鍵和值的"是重要的,因爲JSON解析需要一個。

希望它有幫助!

+0

我的代碼中的一個小小的複雜因素是我也從JSON呈現X軸。你想讓我發佈代碼的那一部分,以便你可以檢查它嗎? – theHeman

+0

不需要..你可以將解析的json保存到一個單獨的變量中,並將X軸取出並將其設置爲圖表。如果你想讓我檢查一下,我可以:) – Sachin

+0

是的請。我已經添加了必要的部分 – theHeman

相關問題