如何动态实现Highcharts

时间:2012-10-08 16:13:30

标签: javascript jquery

  

可能重复:
  how to add items to an array dynamically in javascript

从数据库获取数据后,我想将其传递给系列:highchart。以下是数据。

series: [

    // { name: '53411',  data:[8151.74,15105.39]},
    // { name: '53473',  data:[18703.18,6692.23]},
    // { name: '500606', data:[-866.78,1311.01]},
    // { name: '500613', data:[27621.01,68468.79]},
    // { name: '500614', data:[73.3,80.47]}

]

但是我想要动态创建它,为此我所做的也是:

var seriesData = '';
for (var i = 0; i < data.length; i++) {
    if (i == data.length - 1) {
        seriesData += "{ name:'" + seriesProviderName[i] + "', data:[" + providerist[i] + "," + providersec[i] + "]}";
    }
    else {
        seriesData += "{ name:'" + seriesProviderName[i] + "', data:[" + providerist[i] + "," + providersec[i] + "]},";
    }

之后我将这个seriesData传递给Series: [seriesData],但它不会打印图表。因为它是一个字符串,它在开头和结尾都包含双引号,我在firebug中看到它,我不知道如何摆脱它。例如,“seriedData”这是在firebug中。

  "{ name: '53411', data:  [8151.74,15105.39]},
   { name: '53473', data:  [18703.18,6692.23]},
   { name: '500606', data: [-866.78,1311.01]},
   { name: '500613', data: [27621.01,68468.79]},
   { name: '500614', data: [73.3,80.47]}
  "

我想删除这些双引号。

2 个答案:

答案 0 :(得分:0)

您可以使用eval()JSON.parse()jQuery.parseJSON()(这可能是安全性和兼容性的最佳选择,如果您使用的是jQuery)将字符串对象转换为JSON对象然后可以传递给highcharts。

或者,如同在评论中一样,您可以通过执行操作,首先将对象创建为数组,例如series[0]['name']=53411;

编辑:stringify()走另一个方向......脑屁。

答案 1 :(得分:0)