簡體   English   中英

添加/刪除項目時,Richfaces pickList ajax事件

[英]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.

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