2013-04-24 33 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);