2012-01-13 64 views
1

我正在使用JSF 1.1和Ajax4jsf。我想在名为“颜色”的<h:selectOneMenu>元素的变化值上显示/隐藏<h:inputText>。例如,如果我在<h:selectOneMenu>中选择“红色”值,然后在<h:selectOneMenu>(高,中,低)中显示<h:inputText>的颜色强度,则选择。在h:selectOneMenu上显示/隐藏h:inputText

我不确定是使用Ajax4jsf还是纯JavaScript。我宁愿使用Ajax4jsf,但它太基本了。

+0

什么是你的问题? :)你不确定使用ajax4jsf吗? – yatskevich 2012-01-13 12:28:16

+0

@IvanYatskevich:我的问题es:¿如何隐藏/在表单中显示h:inputText以更改h:selectOneMenu元素中名为“Colors”(onchange事件)的值时使用JSF1.1和ajax4jsf中的值? – user998871 2012-01-13 13:24:05

回答

1

看一看<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>