数组没有传递数据

时间:2012-11-29 12:43:51

标签: javascript jquery arrays highcharts

从php页面获取数据,我将chartData数组传递给pie(title,chartData)函数作为第二个参数。
现在chartData数组放在data: [ chartData ]但是它没有工作。
但是当我手动添加密钥然后它工作data: [ chartData[0],chartData[1], ]
但我不想用密钥手动提及它。我想像data: [ chartData ]一样自动工作 我该怎么办?

function createChart(chart) {
if ( chart == 'pie' ) {     

    var title = $("#chart-title").val();        

    /***************** Data Elements ****************/
    var totalElements = $("#addMoreRowNo").val();

    var chartData = new Array();
    for(var j = 1; j <= totalElements; j++)
    {                       
        var key = $("#chart-pie-text_"+j).val();
        var value = $("#chart-pie-percentage_"+j).val();
        var data = [key, parseFloat(value)];
        chartData[j-1] = data;
    }       
    /***************** Data Elements ****************/

    pie(title,chartData);
  }
}


function pie(title,chartData) {
var chart;

chart = new Highcharts.Chart({
    chart: {
        renderTo: 'container',
        plotBackgroundColor: null,
        plotBorderWidth: null,
        plotShadow: false
    },
    title: {
        text: title
    },
    tooltip: {
        pointFormat: '{series.name}: <b>{point.percentage}%</b>',
        percentageDecimals: 1
    },
    plotOptions: {
        pie: {
            allowPointSelect: true,
            cursor: 'pointer',
            dataLabels: {
                enabled: true,
                color: '#000000',
                connectorColor: '#000000',
                formatter: function() {
                    return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                }
            }
        }
    },
    series: [{
        type: 'pie',
        name: 'Browser share',
        data: [

           chartData      
               /*chartData[0],
               chartData[1],*/

            //['Active Postings (13)', 20.00],

        ]
    }]
});    
 }

1 个答案:

答案 0 :(得分:1)

我很确定你的问题可以通过替换

来解决
data: [
  chartData
]

data : chartData

您编写它的方式,您将数据定义为包含chartData的数组,该数据本身就是一个数组。但是,您指示您正在测试它的方式是将项目从chartData中取出并将每个项目放入数据中,从而产生不同的结构。