jquery - highcharts 通过 JSON 获取数据?

标签 jquery json highcharts

我想通过getJSON方法将数据传递到highcharts:

<script type="text/javascript">
var chart;
    $(document).ready(function(){
$("#datepicker1").datepicker({showOn: 'button', buttonImage: 'css/base/images   /calendar.gif', buttonImageOnly: true,dateFormat: "yy-mm-dd"});
  });
function draw_chart(){`
   var url="http://localhost/handle_data.php?start=2012-12-30&end=2013-01-04";
    chart=new Highcharts.Chart({});

$.getJSON(url,function(data1){
 var options={
    chart: {
            renderTo: 'container',
    type: 'line'
        },

        xAxis:{
    type: 'datetime'

   },
        yAxis: {
            title: {
                text: 'test'
            }

        }, 
        series:[{
           data:data1.result[0].dayactivity,
           name: "name"
       }]

};
var chart = new Highcharts.Chart(options);
});
}

</script>
</head>

<body>

<div >  
<input type="text" id="datepicker1" name="date1" onchange='draw_chart()' >
</div>
<div id="container" style="min-width: 400px; height: 400px; margin: 0 auto"></div>

data1.result[0].dayactivity 的值为:

[[1356796800,0.0],[1356883200,16.1],[1356969600,0.0],[1357056000,0.0],[1357142400,15.0]], 

当我将此值直接放入 options.series[0].data 时,它可以工作,但是当我通过 getJSON 传递它时,它不能工作。图表是空的。看起来它首先执行 var Chart = new Highcharts.Chart(options); 。我该如何解决这个问题?谢谢。

最佳答案

您需要在 $.getJSON();success 回调中移动 Chart 的创建;您只需实例化并创建图表一次,它将在回调函数内。

function draw_chart() {
    var url="http://localhost/handle_data.php?start=2012-12-30&end=2013-01-04";
    $.getJSON(url,
        function(data1){
            /** Declare options after success callback. */
            var options={
                chart: {
                     renderTo: 'container',
                     type: 'line'
                },
                xAxis:{
                     type: 'datetime'
                },
                yAxis: {
                     title: { text: 'test'}
                }, 
                series:[{
                    data:data1.result[0].dayactivity,
                    name: "name"
                }]
           };

           /** Create a chart instance and pass options. */
           var chart = new Highcharts.Chart(options);
       }
    );
}

关于jquery - highcharts 通过 JSON 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14658104/

相关文章:

javascript - 使用 highcharts/highstock 中的按钮打开/关闭标志

javascript - 数据在 Highcharts 上的位置

javascript - 在滚动和单击时更改导航文本颜色

javascript - Maven 存储库上的 JQuery 可用性

json - PlayFramework 配置 - 长字符串

json - 如何使用 PostgreSQL 更新 jsonb 字符串?

javascript - 动态创建 Highcharts 的值

javascript - 如何在 jQuery 选项卡中播放一个视频并停止其他视频?

jquery - 在 jquery 中显示/隐藏相同的按钮

ios - Swift Alamofire 转义 JSON