2011-09-08 26 views
0

這個問題有點冗長,但基本上我想修改jQuery中使用struts jquery插件創建的餅圖。在純jQuery中更新struts jquery圖表

我有一個使用struts jquery插件圖表模塊創建的餅圖 - >>http://code.google.com/p/struts2-jquery/wiki/ChartTag 該模塊不像純jQuery實現那樣健壯。我想要做的是添加一個閾值,也許懸停/點擊事件。似乎沒有辦法將這些添加到struts jquery模塊。有沒有辦法使用jQuery來更新圖表後,它已經被創建?

這裏是我的代碼:

<sjc:chart 
    id="chartPie2" 
    cssStyle="width: 100%; height: 400px;" 
    legendShow="true" 
    pie="true" 
    pieLabel="true" 


> 
    <s:iterator value="%{mapFromStrutsAction}"> 
     <sjc:chartData 
      label="%{key} - %{formatCurrency(value)}" 
      data="%{value}" 
     /> 
    </s:iterator> 
</sjc:chart> 

我想要做的就是以某種方式利用這個圖表所創建和修改。正如我所提到的,jquery實現中有些東西似乎並未在struts jquery插件中提供,如閾值,組合片和懸停/點擊效果(如此處所示 - >http://people.iola.dk/olau/flot/examples/pie.html)。

這裏是我的嘗試,放置塊,這似乎並不裏面上面的代碼後,似乎真的改變什麼:

// INTERACTIVE 
    $.plot($("#chartPie2"), 
    { 
     series: { 
     pie: { 
      show: true, 
      radius: 1, 
      label: { 
       show: true, 
       }, 
       threshold: 0.1 
      } 
     } 
    }, 
    legend: { 
     show: false 
    } 
    }); 

}); 

是否有可能修改圖表以這種方式被創建後?

回答

1

如果您嘗試在自定義標記完成其工作後通過原始jQuery設置所需的東西,會發生什麼情況?

如果這不起作用,那麼可能不是。 IMO標籤僅用於最簡單的用例;只要編寫JavaScript/jQuery,你就會變得更好。

另一種選擇是僅插入插件或單個標籤,對其進行修補以完成自己想要的功能,然後將補丁提供給社區以便其他人可以受益。

+0

如果我嘗試修改原始jQuery中的圖表後,事實似乎沒有改變。有可能我沒有正確地做到這一點。使用struts jquery方法更像是一個指令,因爲我希望只使用常規的flot jquery插件。主要原因是因爲我們想從struts動作中使用地圖,而不是進行json調用。該頁面的struts操作已經有了數據。 – jacosta

+0

您應該可以使用S2插件使用的相同方法 - 它可以直接設置數據,也可以執行此操作,也可以進行遠程調用。 –

+0

這是真的。問題是,由於「更緊密的整合」,我被指示使用struts插件來完成它。我認爲這有待討論;)我更新了我的原始問題,其中包括我嘗試使用純jQuery進行更新。正如你所看到的,我忽略了數據屬性,因爲我真的只想改變外觀/感覺 - 我有一種感覺,我的語法剛剛關閉。有沒有在jQuery中創建的jQuery中的圖表更新的例子?我發現了一些東西,但它需要將繪圖函數設置爲一個變量,我不相信自己有能力去做 – jacosta