2

それぞれの関数で問題が発生しています。同じ名前の異なるdivにハイチャートをロードし、ajax関数を使用してリロードしたいと思います。

私はチャートがこのようにロードされた古い投稿を読んでいました:

$('.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に読み込まれ、結果が得られないようにしました。あなたが私を助けてくれることを願っています。

4

1 に答える 1

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 では"id"div 要素を渡す必要があります。したがって、あなたが言及した最初の例でクラス名を渡す方法は疑問です。

HighChart前の例をどこから入手したか教えてください。

第二に、次のようなdivを含んでいますid="graphcontainer"Highstock

<script src="http://code.highcharts.com/stock/highstock.js"></script>
于 2013-01-03T17:30:24.830 に答える