2013-04-24 32 views
1

对此有何帮助?问题是我无法获取饼图中的数据。有任何想法吗?我尝试在饼图视图之外回显它,并且数据以JSON格式显示为[{“Terminal”:“13”}]。 Hightchart需要数据为[“Sample”,2]?任何建议先生如何将其转换?谢谢。HighChart Pieign中的动态JSON

继承人我的代码:

VIEW

$(document).ready(function() { 

$(function() { 
    var chart; 

    // Build the chart 
    $('.widget-lower-left#widget').highcharts({ 
     chart: { 
      plotBackgroundColor: null, 
      plotBorderWidth: null, 
      plotShadow: false 
     }, 
     title: { 
      text: 'Availability' 
     }, 
     tooltip: { 
      pointFormat: '{series.name}: <b>{point.percentage}%</b>', 
      percentageDecimals: 1 
     }, 
     plotOptions: { 
      pie: { 
       allowPointSelect: true, 
       cursor: 'pointer', 
       dataLabels: { 
        enabled: false 
       }, 
       showInLegend: true 
      } 
     }, 
     series: [{ 
      type: 'pie', 
      name: 'Availability', 
      data: [] 
     }] 

}); 

}); 


function requestData() { 
$.ajax({ 
    url: 'home', 
    datatype: "json", 
    success: function(data) { 

     alert(data); 
     console.log(data); 

     chart.series[0].setData(data); 

    }, 
    cache: false 
}); 

}; 

}); 

然后在MODEL

$results = $this->db->query("SELECT COUNT(get_jeeps_availability) as Terminal FROM get_jeeps WHERE get_jeeps_availability = 'Terminal'"); 

return $results->result_array(); 

CONTROLLER

public function index() 
{ 


    $data['pie'] = json_encode($this->get_model->dashboard_jeep_widget()); 


    $this->load->view('home',$data); 
} 

回答

1

在的RequestData()函数,设定数据,预处理 '数据' 在此之前的方法:

var newData = []; 
for(var i = 0, len = data.length; i < len; i++) { 
    var item = data[i]; 
    for(var j in item){ 
     newData.push([j,item[j]]); 
    } 
} 
chart.series[0].setData(newData);