【发布时间】:2011-12-27 08:17:42
【问题描述】:
我有一个带有<h:selectOneMenu> 的页面,我想根据selectOneMenu 的所选值显示一些字段或其他字段。这可能吗?如果可以,怎么做?
【问题讨论】:
标签: jsf-2 drop-down-menu hide show
我有一个带有<h:selectOneMenu> 的页面,我想根据selectOneMenu 的所选值显示一些字段或其他字段。这可能吗?如果可以,怎么做?
【问题讨论】:
标签: jsf-2 drop-down-menu hide show
是的,这肯定是可能的。只需将下拉列表的值绑定到要显示/隐藏的组件的rendered 属性。这是一个启动示例。
<h:form>
<h:selectOneMenu value="#{bean.item}">
<f:selectItem itemLabel="Select..." />
<f:selectItem itemValue="one" />
<f:selectItem itemValue="two" />
<f:selectItem itemValue="three" />
<f:ajax render="@form" />
</h:selectOneMenu>
<h:panelGroup rendered="#{bean.item == 'one'}">
<p>This will be shown if the selected item equals to "one".</p>
</h:panelGroup>
<h:panelGroup rendered="#{bean.item == 'two'}">
<p>This will be shown if the selected item equals to "two".</p>
</h:panelGroup>
<h:panelGroup rendered="#{bean.item == 'three'}">
<p>This will be shown if the selected item equals to "three".</p>
</h:panelGroup>
</h:form>
<h:panelGroup> 只是示例。它可以是每个 JSF HTML 组件,例如 <h:inputText> 甚至是另一个 <h:selectOneMenu>。
【讨论】:
<h:panelGroup> 替换为<h:form>。