提交后如何取消选择 h:selectManyListbox

Posted

技术标签:

【中文标题】提交后如何取消选择 h:selectManyListbox【英文标题】:How to deselect h:selectManyListbox after submit 【发布时间】:2013-01-25 08:56:28 【问题描述】:

我正在用 jsf 和richfaces 做一个项目。有一个selectManyList。在 selectmanylist 中选择并保存后,SelectManyList 会再次打开。最后选择的项目在列表中被默认选择。但是我想阻止最后选择的项目。我该怎么办?

                     <td valign="top">
                        <h:panelGroup id="ajaxAvailableProductPanel2">
                           <h:selectManyListbox
                            size="#pc_ExternalProviderFrag.callServerBackingBean.availableProductsSelectItemsSize"
                            id="availableProductsListbox2"
                            style="width: 100%;"
                            valueChangeListener="#pc_ExternalProviderFrag.callServerBackingBean.handleAvailableProductsListboxValueChange">
                            <f:selectItems
                                value="#pc_ExternalProviderFrag.callServerBackingBean.availableProductsSelectItems" />
                           </h:selectManyListbox>
                        </h:panelGroup>
                     </td>

【问题讨论】:

【参考方案1】:

只需在action方法中清除组件的值即可。

所以,给定一个

<h:selectManyListbox value="#bean.selectedItems">

您可以在操作方法中执行此操作:

public void submit() 
    // ...

    selectedItems = null;

顺便说一句,我的印象是valueChangeListener 根本不属于那里,但这是一个不同的问题/问题。

【讨论】:

谢谢,但我正在混淆一个项目。我无法直接看到其他代码。不过我尽量做到你说的

以上是关于提交后如何取消选择 h:selectManyListbox的主要内容,如果未能解决你的问题,请参考以下文章

在React中提交表单后如何取消对输入的关注

选择文件后取消焦点文件输入框(以验证输入)

怎样退出购物车

jquery允许取消提交后提交表单

Dask - 如何取消并重新提交停滞的任务?

如何在初始 mousedown 事件后取消文本选择?