2013-01-02 48 views
2

我對每個函數都有麻煩,我想用同一個名字在不同的div中加載一個highcharts,使用ajax函數重新加載。Highcharts以多個div顯示同名

我讀舊帖子裏的圖加載這樣:

$('.portlet_content_18').each(function(){ 
var chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: this, 
     height: 400 
    }, 
    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
    }, 

    series: [{ 
     data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]   
    }] 
}); 
})); 

件事,對我的工作,但不是我改變爲Ajax調用。

我的代碼以Ajax調用的工作,只有在名爲「graphcontainer」第一個div加載下一個:

function graph() { 
    $(function() { 

     $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=aapl-c.json&callback=?', function (data) { 
      // Create the chart 
      window.chart = new Highcharts.StockChart({ 
       chart: { 
        renderTo: 'graphcontainer' 
       }, 
       rangeSelector: { 
        selected: 1 
       }, 

       title: { 
        text: 'AAPL Stock Price' 
       }, 

       series: [{ 
        name: 'AAPL', 
        data: data, 
        tooltip: { 
         valueDecimals: 2 
        } 
       }] 
      }); 
     }); 
    }); 
} 

我試圖所以它加載在其他的div添加的每個功能沒有結果。 希望你能幫助我。

+0

你有你的頁面上的多個div具有相同的名稱?或者你想要將同一個圖表加載到多個(唯一)命名的DIV中? – wergeld

+0

我有多個同名的DIV。 –

+0

好的。那麼,這是不同的。因此,具有相同名稱的多個DIV需要將相同的圖表加載到所有這些DIV中?那麼我會假設用戶能夠使用相同的起始數據集來操縱圖表以滿足他們自己的需求? – wergeld

回答

2

根據HighChart API和HighStock API

renderTo: String|Object 
The HTML element where the chart will be rendered. 
If it is a string, the element by that id is used. 
The HTML element can also be passed by direct reference. Defaults to null. 

首先,Highchart要求傳遞div元素的"id"。所以,我懷疑如何傳遞類名稱與你提到的第一個例子。

請問你能從哪裏得到前HighChart例如分享?

其次,你是否有包含id="graphcontainer"和包括Highstock一個div像

<script src="http://code.highcharts.com/stock/highstock.js"></script> 
+0

我也閱讀文檔,我修復了傳遞容器的問題,我想將它作爲函數圖形的一個參數,所以我在需要時收取它。不管怎麼說,還是要謝謝你。 –

+0

@GabrielCandia:很高興聽到這個消息。請繼續練習接受有用的答案。 :) –