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

时间:2011-11-11 20:59:14

标签: jsf-2 drop-down-menu hide show

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

1 个答案:

答案 0 :(得分:22)

是的,这肯定是可能的。只需将下拉列表的值绑定到要显示/隐藏的组件的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>

另见: