我有一个 RichFaces pickList,用户应该能够从中选择多个项目,并且它应该直接反映在支持 bean 上。现在,如果出现验证错误或重新加载页面,我无法重新加载选择。有没有一种简单的方法告诉 RichFaces 我希望在每次更改时更新支持列表?
问问题
3770 次
3 回答
2
您可以附加到onlistchange
事件。
使用a4j:support
:
<rich:pickList ...>
<a4j:support event="onlistchange"/>
</rich:pickList>
或者,在较新的版本中,使用a4j:ajax
:
<rich:pickList ...>
<a4j:ajax event="change" render="result"/>
</rich:pickList>
或使用a4j:jsFunction
:
<rich:pickList onlistchange="listChange();"... />
<a4j:jsFunction name="listChange" />
上述表单中的两种方法都将提交导致提交选定值的表单。如果需要,您还可以为a4j:support
/指定其他属性a4j:jsFunction
(例如ajaxSingle="true"
,a4j:support
仅处理 pickList 组件(其他输入将不会被验证/更新),action
/actionListener
以在列表更改时执行服务器端逻辑reRender
,等等)。
于 2011-09-19T19:53:02.457 回答
1
您是否尝试在面板中声明您的选择列表ajaxRendered="true"
?这应该会自动重新渲染pickList
<a4j:outputPanel ajaxRendered="true">
<rich:pickList...
</a4j:outputPanel>
于 2011-09-16T09:38:58.347 回答
-2
<h:form>
<rich:pickList value="#{pickListBean.result}">
<f:selectItems value="#{capitalsBean.capitalsOptions}"/>
<a4j:support event="onlistchanged" reRender="result"/>
</rich:pickList>
</h:form>
于 2013-11-29T07:55:00.863 回答