为什么我的高清代码不起作用?

时间:2016-05-19 09:45:29

标签: javascript highcharts

我在高级图表的钻取事件中有这个功能。

if (!e.seriesOptions) {
    var s=e.point.name;
    var chart = this,
        drilldowns = {
         'SAR': {
                name: 'SAR',
                data: yearData,
            }

        },
        series = drilldowns[e.point.name];

    chart.addSeriesAsDrilldown(e.point, series);                                       
}

但当我更换字符串' SAR'使用e.point.name

if (!e.seriesOptions) {
    var s=e.point.name;
    var chart = this,
        drilldowns = {
         s: {
                name: s,
                data: yearData,
            }

        },
        series = drilldowns[e.point.name];

    chart.addSeriesAsDrilldown(e.point, series);
}

它没有显示任何钻取数据,其中e.point.name中有字符串' SAR'在它。

1 个答案:

答案 0 :(得分:1)

你不能像你想要的那样创建一个JS-Object:

var s = 'SAR',
drilldowns = {
  s: {
    name: s,
    data: [],
  }
}

将使用密钥drilldown而不是s创建对象SAR

{s: {name: "SAR", data: [] }}

但是,您可以使用带括号表示法的键的字符串:

var s = 'SAR', 
drilldowns = {};

drilldowns[s] = { 
  name: s, 
  data: []
}

将为您创建一个具有正确键的下钻对象:

{SAR: {name: "SAR", data: []}}