簡體   English   中英

Struts 2 jQuery圖表加載帶有本地數據的圖表數據

[英]Struts 2 jquery chart load chart data with local data

我想用本地數據加載圖表數據。

 <sjc:chart
       id="chartPlaceHolder"
       cssStyle="width: 600px; height: 400px;"
       pie="true"
       pieLabel="true"
       dataType="local"        
   />

然后我使用了(如Javascript中的刷新/重新加載Flot中所述

//This data is created dynamically from a grid when grid completed 
var chartData= [
                { label: "Chrome",  data: 36.3, color: "#89A54E"},
                { label: "Other",  data: 0.8, color: "#3D96AE"}
            ];
var plot = $.plot($('#chartPlaceHolder'));
    plot.setData(chartData);
    plot.setupGrid();
    plot.draw();

我在jquery API中aB is undefined一些jquery異常aB is undefined

任何意見 ?!

您缺少$.plot()兩個附加參數。

您應該閱讀基本用法

創建一個占位符div以將圖形放入:

 <div id="placeholder"></div> 

您需要設置該div的寬度和高度,否則圖庫不知道如何縮放圖形。 您可以這樣內聯:

 <div id="placeholder" style="width:600px;height:300px"></div> 

您也可以使用外部樣式表進行操作。 確保占位符不在顯示內容之內:無CSS屬性-在這種情況下,Flot無法測量標簽尺寸,從而導致外觀亂碼,並且可能無法測量占位符,這是致命的(它將拋出例外)。

然后,當div在DOM中准備就緒(通常在文檔上准備就緒)時,運行plot函數:

 $.plot($("#placeholder"), data, options); 

在這里,數據是數據系列的數組,而選項是具有設置的對象(如果要自定義圖)。 請看一下示例,以了解有關插入內容的一些想法,或者看一下API參考。 這是一個簡單的示例,它將在(0,0)到(1,1)之間畫一條線:

 $.plot($("#placeholder"), [ [[0, 0], [1, 1]] ], { yaxis: { max: 1 } }); 

編輯:

您可以嘗試以下代碼。 創建沒有數據的圖表后,它將使用數據重新加載圖表。

<sjc:chart
    id="placeholder"
    cssStyle="width: 600px; height: 400px;"
    pie="true"
    pieLabel="true">
</sjc:chart>
<script>
  $(function(){
    var chartData= [
      { label: "Chrome",  data: 36.3, color: "#89A54E"},
      { label: "Other",  data: 0.8, color: "#3D96AE"}
    ];
    var series =  { pie: { show: true }};
    var o = {};
    o.data = chartData;
    o.series= series;
    $.struts2_jquery_chart.chart($("#placeholder"), o);
  });
</script>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM