rich:pickList 带有 Ajax 更新
我有一个 RichFaces pickList,用户应该能够从中选择多个项目,并且它应该直接反映在支持 bean 上。现在,如果出现验证错误或重新加载页面,我无法重新加载选择。有没有一种简单的方法可以告诉 RichFaces 我希望在每次更改时更新支持列表?
I have a RichFaces pickList from which the user should be able to select multiple items and it should be directly reflected on the backing bean. Right now I have no way to reload selection in case of a validation error or in case the page is reloaded. Is there a simple way to tell RichFaces that I want the backing list to be updated on every change?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以附加到
onlistchange
事件。使用
a4j:support
:或者,在较新的版本中,使用
a4j:ajax
:或者使用
a4j:jsFunction
:以上形式中的两种方法都将提交表单导致提交选定的值。如果需要,您还可以为
a4j:support
/a4j:jsFunction
指定其他属性(例如ajaxSingle="true"
为a4j :support
仅处理 pickList 组件(其他输入不会被验证/更新),action
/actionListener
在列表更改时执行服务器端逻辑,重新渲染
等)。You can attach to
onlistchange
event.Using
a4j:support
:Or, in newer versions, using
a4j:ajax
:Or using
a4j:jsFunction
:Both approaches in the form above will submit the form causing submitting selected values. You can also specify additional attributes for
a4j:support
/a4j:jsFunction
if needed (for exampleajaxSingle="true"
fora4j:support
to process only pickList component (other inputs will not be validated/updated),action
/actionListener
to execute server side logic when list is changed,reRender
, etc.).您是否尝试在面板中使用
ajaxRendered="true"
声明您的 pickList ?这应该会自动重新渲染 pickListHave you try to declare your pickList in a panel with
ajaxRendered="true"
? This should automatically reRender the pickList<h:form>
<rich:pickList value="#{pickListBean.result}">
<f:selectItems value="#{capitalsBean.capitalsOptions}"/>
<a4j:support event="onlistchanged" reRender="result"/>
</rich:pickList>
</h:form>