Как отобразить inputText, когда выбран определенный параметр selectOneMenu? - PullRequest
3 голосов
/ 14 марта 2012

Я хочу создать панель настроек для приложения.Приложение сохранит значения настроек в таблице базы данных.Панель настроек будет использоваться для отображения настроек и изменения значений.Я хочу представить значения следующим образом:

enter image description here

enter image description here

Таким образом, пользователь сможет вводить только фиксированные значения.Я хочу дать пользователю изменение для ввода пользовательских значений.Например:

enter image description here

Я хочу создать selectOneMenu с параметром custom.Когда пользователь выбирает custom, selectOneMenu будет заменен полем inputText, где он сможет ввести пользовательское значение.Кнопка SAVE сохранит данные в базе данных.Это возможно без перезагрузки страницы?Может быть, с AJAX?

Как это можно реализовать?

1 Ответ

3 голосов
/ 15 марта 2012

Используйте <f:ajax> для отображения <h:inputText> всякий раз, когда текущая опция равна "custom".

<h:selectOneMenu value="#{bean.type}">
    <f:selectItem itemValue="one" itemLabel="Option one" />
    <f:selectItem itemValue="two" itemLabel="Option two" />
    <f:selectItem itemValue="three" itemLabel="Option three" />
    <f:selectItem itemValue="custom" itemLabel="Define custom value" />
    <f:ajax render="input" />
</h:selectOneMenu>
<h:panelGroup id="input">
    <h:inputText value="#{bean.customType}" rendered="#{bean.type == 'custom'}" required="true" />
</h:panelGroup>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...