rich:pickList添加/删除按钮在第一次单击时不呈现a4j:outputpanel

时间:2014-03-01 16:41:55

标签: jsf-2 richfaces

我正在使用richfaces 4.1 rich:picklist,需要在添加或删除targetList中的项目时呈现a4j:outputpanel。它会在选择Source / Target List元素时立即呈现outputpanel,但如果直接单击AddAll或RemoveAll按钮,则第一次单击时不会渲染输出面板,而是在屏幕内外的任何位置进行第二次单击。

这是我的代码:

<rich:pickList value="#{myBean.selectedRegions}" 
valueChangeListener="#{myBean.regionChangeListener}"
switchByClick="true"  immediate="true">
<a4j:ajax event="additems" execute="@this" render="countryPanel" />
<a4j:ajax event="removeitems" execute="@this" render="countryPanel" />
<a4j:ajax event="sourceblur" execute="@this" render="countryPanel"/>
<a4j:ajax event="targetblur" execute="@this" render="countryPanel"/>
<a4j:ajax event="change" execute="@this" render="countryPanel" />
<f:selectItems value="#{myBean.regions}" var="region"
    itemValue="#{region}" itemLabel="#{region.regionDesc}" />
<f:converter converterId="RegionConverter" />
</rich:pickList>
<a4j:outputPanel id="countryPanel" >

1 个答案:

答案 0 :(得分:1)

升级到最新的RichFaces版本应该有所帮助。此外,它还允许简化代码,您需要仅指定change事件处理程序,因为已修复以下问题:https://issues.jboss.org/browse/RF-12360