隐藏/显示表单取决于selectOneMenu值的更改

BRa*_*t27 6 show hide jsf-2 drop-down-menu

我有一个带有a的页面,<h:selectOneMenu>我想显示一些字段或其他字段,具体取决于selectOneMenu的选择值.这是可能的,如果是的话,怎么样?

Bal*_*usC 23

是的,这肯定是可能的.只需将下拉列表的值绑定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>
Run Code Online (Sandbox Code Playgroud)

<h:panelGroup>只是示例.它可以是每个JSF HTML组件,例如<h:inputText>甚至是另一个组件<h:selectOneMenu>.

也可以看看: