2014-12-02 60 views
2

我有一個基於JavaScript的自定義組件,在DOM完成後對其進行初始化。 但是當我通過Ajax調用更新組件時,它將被更新,但它從未初始化..ajax更新後重新初始化jsf自定義組件

我讀了一些primeFaces和omniFaces的代碼,但它看起來不是很簡單。

在每次Ajax更新後調用JavaScript代碼重新初始化組件的最佳方式是什麼?

編輯:

假設我要改造一個jQuery插件(如選擇2)對JSF自定義組件,我想打電話給jQuery的方法$('#myComponentId').select2()每個Ajax更新

這之後就是我需要

在此先感謝。

+2

最好分享一些代碼,比如你到目前爲止所嘗試的代碼。 – Jono20201 2014-12-02 14:39:45

+0

你用什麼來啓動你的ajax(按鈕,...)?您使用的是哪個版本的JSF和PrimeFaces?你有興趣使用另一個組件庫嗎? – 2014-12-03 06:39:04

+0

我在沒有任何外部組件庫的情況下在JSF2.2中構建了一個jar庫(web片段項目),並且我創建了一個從'javax.faces.render.Renderer'擴展的類來構建組件。 那麼這個班級裏的代碼是什麼(我認爲這是正確的地方)來完成我的工作。 – Fadi 2014-12-03 06:55:17

回答

2

我該組件後呈現一個JavaScript重新初始化它解決的問題..

〔實施例:

<div id="myComponent" name="myComponent"> 
    ... 
    <script type="text/javascript"> 
     $("#myComponent").select2(); 
    </script> 
</div> 

,當一個Ajax調用後更新組件時,JavaScript將自動執行