【问题标题】:Cannot dynamically update highchart in javascript无法在javascript中动态更新highchart
【发布时间】:2018-04-11 18:08:36
【问题描述】:

不能动态更新highchart。

我有高图。当用户单击按钮时,我想打开模态窗口,显示相同的高图,但更新了一些字段(系列和类别数据)。

我做了什么:

  1. 创建对象“选项”

var options = {} ; - 保存 highcharts 的所有数据的 obj。

  1. 使用选项创建主高图:

    var chartWithTopCategories = new Highcharts.Chart(options);

  2. 单击按钮打开已更新图表的模式:

 $(‘#modalId’).on( "click", function() {  
    	options.xAxis.categories = listOfAllCategories;
        options.series.data = listOfAllValues;
        options.chart.renderTo = ‘div-id-inside-modal;
        console.log(options); //4.  All options updated successfully here
        // 5.Then I trying to create new highchart, using options below (I tried both):
        //$('div-id-inside-modal').highcharts(options); 
        var chart = new Highcharts.Chart(options); // ALL FiELDS ARE UPDATED< BUT NEW CHART IS NOT DISPLAYED. OLD ONE IS DISPLAYED INSTEAD
        chart.redraw(); // Tried with and without redraw
     }

所以,问题是当我尝试在打开的模式中创建新的 highchart 时,它并没有使用更新的选项创建新的 hoghchart,它仍然呈现在没有模式的页面上的相同的 highchart。即使我 console.log 新的 highchart 对象,它的所有字段都具有更新的值

【问题讨论】:

    标签: javascript highcharts


    【解决方案1】:

    我找到了解决方案: 这个:

    options.series.data = listOfAllValues;
    

    应该改成这样:

     options.series[0].data = listOfAllValues;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多