我有一个带有 a 的页面,当我在某些 bean 属性值更新时选择一个新值时h:selectOneMenu
,我想隐藏 a 。我正在尝试不同的事情,我可以通过重新加载页面来隐藏。我已经在属性上使用一些 JavaScript 代码进行了尝试。在这种情况下,尽管我使用了这些 bean 属性值(并且我还需要 bean 的视图范围),但这些 bean 属性值会消失。dataTable
h:selectOneMenu
dataTable
onsomething
t:saveState
这是一个小例子来澄清这一点:
<h:selectOneMenu id="list" value="#{Bean.id}">
<f:selectItems value="#{Bean.List}" var="element" itemLabel="#{element.name}" itemValue="#{element.id}"/>
<t:saveState value="#{Bean.id}"/>
<f:ajax listener="#{Bean.populateBean}" render=":form:period" event="change"/>
</h:selectOneMenu>
<h:selectOneMenu id="period" value="#{Bean.period}">
<f:selectItems value="#{Bean.listaPeriod}" var="period" itemLabel="#{period[1]}" itemValue="#{period[0]}"/>
<t:saveState value="#{Bean.period}"/>
</h:selectOneMenu>
<h:commandButton id="search" action="#{Bean.doSearch}"></h:commandButton>
<t:dataTable id="data" value="#{Bean.configList}" rendered="#{Bean.search}"
<t:column>
...
</t:dataTable>
并Bean.doSearch
更改Bean.search
为true
. dataTable
当我选择新值时如何隐藏h:selectOneMenu id="list"
?
编辑:
简而言之,搜索按钮呈现表格,当我在“列表”下拉列表中选择一个新值而不重新加载页面时,我想隐藏该表格。现在,<f:ajax>
仅用于重新呈现“期间”下拉值。
提前致谢!