Показать / скрыть h: inputText при выборе h: selectOneMenu - PullRequest
1 голос
/ 13 января 2012

Я использую JSF 1.1 и Ajax4jsf.Я хочу показать / скрыть <h:inputText> при изменении значения элемента <h:selectOneMenu> с именем «Цвета».

Например, если я выберу «Красное» значение в <h:selectOneMenu>, то покажу <h:inputText> для интенсивности цвета, выбранного в <h:selectOneMenu> (высокий, средний, низкий).

Я не уверен, использовать ли Ajax4jsf или простой JavaScript.Я бы предпочел использовать Ajax4jsf, но он слишком простой.

1 Ответ

1 голос
/ 13 января 2012

Взгляните на <a4j:support/>.Этот тег дает вам возможность обрабатывать различные события на стороне клиента, включая onchange событие.

Рассмотрим пример (по ссылке выше):

<h:form id="planetsForm">
  <h:outputLabel value="Select the planet:" for="planets" />

  <h:selectOneMenu id="planets" value="#{planetsMoons.currentPlanet}" valueChangeListener="#{planetsMoons.planetChanged}">
      <f:selectItems value="#{planetsMoons.planetsList}" />
      <a4j:support event="onchange" reRender="moons" />
  </h:selectOneMenu>

  <h:dataTable id="moons" value="#{planetsMoons.moonsList}" var="item">
     <h:column>
        <h:outputText value="#{item}"/>
     </h:column>
  </h:dataTable> 
</h:form>
...