Скрыть / показать форму в зависимости от изменения значения selectOneMenu - PullRequest
6 голосов
/ 12 ноября 2011

У меня есть страница с <h:selectOneMenu>, и я хочу показать некоторые поля или другие в зависимости от выбранного значения selectOneMenu.Возможно ли это, и если да, то как?

1 Ответ

22 голосов
/ 12 ноября 2011

Да, это, безусловно, возможно. Просто свяжите значение раскрывающегося списка с атрибутом 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> просто пример. Это может быть любой HTML-компонент JSF, например <h:inputText> или даже другой <h:selectOneMenu>.

Смотри также:

...