[英]Richfaces pickList ajax event when item has been added/removed
將項目添加到Richfaces(4.3.1.Final) pickList
時,是否會引發ajax事件? 我需要啟用禁用按鈕,具體取決於是否選擇了任何項目。
開發人員指南根本沒有提到這一點,但是我在谷歌搜索時發現了這一點 。 使用建議的解決方案,我使用了以下ajax事件:
<rich:pickList
var="item"
value="#{someBean.selectedItems}">
<a4j:ajax event="sourceblur" render="somePanelGroupWithTheButton" />
<a4j:ajax event="targetblur" render="somePanelGroupWithTheButton" />
</rich:pickList>
這可行。 但是,每次源或目標列表模糊時都會觸發該事件,這對於我的需求而言太頻繁了。
我還嘗試了<a4j:ajax event="additems" />
和<a4j:ajax event="removeitems" />
。 在這種情況下,僅在刪除或添加項目時才觸發該事件,完全與我想要的一樣。 但是,直到事件被觸發后, selectedItems
才會填充新項目。 這意味着我不能用它來重新渲染按鈕,因為添加第一個項目后列表將為空,添加第二個元素后列表將為1。
在目標列表( selectedItems
)更新之后,是否有ajax事件來監聽該事件? ( 並且某處必須有此組件的受支持的ajax事件的完整列表,對嗎? )
我也試過改變事件,如建議在這里 ,但它沒有被解雇。
只是再次嘗試了變更事件,突然就起作用了。 當我第一次嘗試時可能是我的錯字。 這是要走的路:
<rich:pickList
var="item"
value="#{someBean.selectedItems}">
<a4j:ajax event="change" render="somePanelGroupWithTheButton" />
</rich:pickList>
當觸發事件和somePanelGroupWithTheButton
進行重新渲染, someBean.selectedItems
已經填入了正確的項目。
這是在4.3.0.M2中解決的缺陷: https ://issues.jboss.org/browse/RF-12360。
可以在以下位置找到pickList
的受支持事件: http : pickList
嘗試這個:
<rich:pickList
var="item"
value="#{someBean.selectedItems}">
<a4j:ajax event="transfer" render="somePanelGroupWithTheButton" />
</rich:pickList>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.