从一个呼叫中获取多个HighCharts

时间:2018-08-13 16:49:58

标签: javascript highcharts

因此,我尝试使用一个函数调用来获取多个HighCharts。但似乎我一次可以拿一个。每次刷新页面时,页面都会显示不同的页面。

    var request9 = $.ajax({
    url:path,
    type:'get',
    dataType:'json',
    cache:false,
    success:function (data) {
        var results = [];
        for (x = 0; x < data.total_rows; x++) {
            <CODE>
        }
        createChart(results,somethingElse);
    }        
});     
    function makeChart(info1,info2){
     Highcharts.chart ......
    }

试图将call1和call2作为两个单独的函数调用,但是得到相同的结果。有人知道,为什么我不能一次获得所有图形吗?

1 个答案:

答案 0 :(得分:0)

您可以通过其他方式实现makeChart函数。我的意思是,您可以根据传递给函数的图表数量来创建每个新的图表容器。请看下面的代码:

HTML文件:

<script src="https://code.highcharts.com/highcharts.js"></script>
<div id="charts"></div>

功能定义:

var makeCharts = function(charts) {
    // Generate chart for each configuration
    charts.forEach((conf, i) => {
    // Create new container for chart, and append it to #charts div
    let chart = document.createElement('div')
    chart.setAttribute('id', 'container'+i)
    document.getElementById('charts').appendChild(chart)

    // Generate chart
    Highcharts.chart('container'+i, conf)
  })

}

实时示例:https://jsfiddle.net/hw571nkg/

最诚挚的问候!