2012-10-14 54 views
2

如何在jqplot圖表中使用php值(由ajax發送)?jqplot - 使用php數組中的值

下面粘貼的代碼不會創建圖形。當我手動鍵入一個值的數組時,圖表會繪製出來。我將圖表發送到ID爲「chart1」的div。

--- PHP ---

$array = array(
    array("Books", 12), 
    array("Movies", 9) 
     ); 
$json = json_encode($array); 
var_dump($json); 

---- ---- JAVASCRIPT

$(document).ready(function(){ 
    var charts; 
    $.ajax({  
    type: "POST", 
    async: false, 
    dataType: "json", 
    url: "submitform.php",  
    data: 'action=chart', 
    success: function(data){  
    charts = data; 
     }  
     }); 


    var plot1 = jQuery.jqplot ('chart1', [charts], 
    { 
    seriesDefaults: { 
     shadow: false, 
    renderer: jQuery.jqplot.PieRenderer, 
    rendererOptions: { 
     highlightMouseOver: false, 
     showDataLabels: true 
    } 
    }, 
    seriesColors: [ "#CCF", "#FCC", "#6CF", "#6C6", "#FF9"], 
     legend: { show:true, location: 'e' } 
    } 
); 
}); 

如果我提醒(圖)我得到這樣的:

[["Books",12],["Movies",9]] 

所以我認爲我的格式很好。

哇,對不起,如果那很長。 (遺憾的窮人格式化)

回答

0

嘗試

$(document).ready(function(){ 
    $(".success").fadeIn("fast"); 
    var charts = null; 
    $.ajax({  
     type: "POST", 
     async: false, 
     url: "submitform.php",  
     data: 'action=chart', 
     dataType: "json", 
     success: function(data){  
      charts = data; 
      $(".success").html(charts + "charts "); 
     }  
    }); 


    var chartData = [["Books",12], ["Movies",9]]; 
    alert(charts); 
    var plot1 = jQuery.jqplot ('chart1', [charts], { 
     seriesDefaults: { 
      shadow: false, 
      renderer: jQuery.jqplot.PieRenderer, 
      rendererOptions: { 
       highlightMouseOver: false, 
       showDataLabels: true 
      } 
     }, 
     seriesColors: [ "#CCF", "#FCC", "#6CF", "#6C6", "#FF9"], 
     legend: { show:true, location: 'e' } 
    }); 
}); 
+0

嘗試新版本 – 2012-10-14 03:19:45

+0

相同的結果,我可以提醒出來的結果和格式正確無誤,但圖形犯規中使用它們。我認爲這可能是與我的JavaScript,而不是我的PHP。 – user1744232

+0

你能發佈一個鏈接嗎? – 2012-10-14 03:26:59