【发布时间】:2011-12-09 13:13:57
【问题描述】:
我认为我的问题很简单,但我找不到明确的解决方案。
我有三个 selectOneMenu,我希望始终呈现第一个,如果第一个选择了某个值,则呈现第二个,如果第二个选择了某个值,则呈现第三个。
第一个和第二个之间的关系很好,但在第二个和第三个之间就不行了。
当我更改第一个 selectOneMenu 的值时,第二个 selectOneMenu 会正确显示或隐藏。 但是当我更改第二个的值时,第三个 selectOneMenu 没有任何反应,就像 f:ajax 渲染没有被触发一样。
下面的jsf代码:
<h:panelGrid columns="2">
<h:outputText value="Type Paiement" />
<h:selectOneMenu
value="#{employeurBean.idTypePaiement}">
<f:selectItem itemValue="" itemLabel="Choix typePaiement" />
<f:selectItems value="#{typePaiementBean.typesPaiement}" var="vtp"
itemLabel="#{vtp.libelle}" itemValue="#{vtp.idTypePaiement}" />
<f:ajax event="change" render="gmodp" />
</h:selectOneMenu>
</h:panelGrid>
<h:panelGrid id="gmodp">
<h:panelGroup rendered="#{employeurBean.idTypePaiement == 2}">
<h:outputText value="Mode Paiement" />
<h:selectOneMenu
value="#{employeurBean.idModePaiement}">
<f:selectItem itemValue="" itemLabel="Choix mode Paiement" />
<f:selectItems value="#{modePaiementBean.modesPaiement}" var="vmp"
itemLabel="#{vmp.libelle}" itemValue="#{vmp.idModePaiement}" />
<f:ajax event="change" render="grib"/>
</h:selectOneMenu>
</h:panelGroup>
</h:panelGrid>
<h:panelGrid id="grib">
<h:panelGroup rendered="#{employeurBean.idModePaiement == 1}">
<h:outputText value="Compte" />
<h:inputText value="#{employeurBean.compte}">
</h:inputText>
</h:panelGroup>
</h:panelGrid>
有没有什么想法可以实现。 非常感谢您的帮助
【问题讨论】:
标签: jsf-2