2

从 php 页面获取数据,我将chartData数组作为第二个参数传递给 pie(title,chartData) 函数。
现在 chartData阵列正在放置,data: [ chartData ]但它不起作用。
但是当我用键手动添加时,它就可以工作了data: [ chartData[0],chartData[1], ]
但我不想用 key 手动提及它。我想像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],

        ]
    }]
});    
 }
4

1 回答 1

1

我很确定您的问题可以通过更换来解决

data: [
  chartData
]

data : chartData

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

于 2012-11-29T12:50:01.567 回答