【发布时间】:2016-12-09 06:26:20
【问题描述】:
我的 jsf 页面中有 3 个下拉菜单。
- 到达区
- 出发区
- 凭证类型
它在我的页面中以相同的顺序出现。
如果我为到达区或出发区选择一个值,然后我为凭证区选择一个值,则 1 和 2 中的值将更改为默认值。
这是我的代码。
<h:column rendered="#{(fplusRulesHandler.fplusRulesBean.searchBased eq 'DEP ZONE/ARR AIRPORT') or (fplusRulesHandler.fplusRulesBean.searchBased eq 'DEP ZONE/ARR ZONE')}">
<h:outputText styleClass="head-table" value="Departing Zone"></h:outputText>
<h:outputText styleClass="mandatory" value="*" />
</h:column>
<h:column rendered="#{(fplusRulesHandler.fplusRulesBean.searchBased eq 'DEP ZONE/ARR AIRPORT') or (fplusRulesHandler.fplusRulesBean.searchBased eq 'DEP ZONE/ARR ZONE')}">
<h:selectOneMenu value="#{fplusRulesHandler.fplusRulesBean.fpuFlightRules.bpmAppFltIdentity.depZone}">
<f:selectItems value="#{fplusRulesHandler.fplusRulesBean.arrDepZoneList}"></f:selectItems>
</h:selectOneMenu>
</h:column>
<h:column rendered="#{(fplusRulesHandler.fplusRulesBean.searchBased eq 'ARR ZONE/DEP AIRPORT') or (fplusRulesHandler.fplusRulesBean.searchBased eq 'DEP ZONE/ARR ZONE')}">
<h:outputText styleClass="head-table" value="Arrival Zone"></h:outputText>
<h:outputText styleClass="mandatory" value="*" />
</h:column>
<h:column rendered="#{(fplusRulesHandler.fplusRulesBean.searchBased eq 'ARR ZONE/DEP AIRPORT') or (fplusRulesHandler.fplusRulesBean.searchBased eq 'DEP ZONE/ARR ZONE')}">
<h:selectOneMenu value="#{fplusRulesHandler.fplusRulesBean.fpuFlightRules.bpmAppFltIdentity.arrZone}">
<f:selectItems value="#{fplusRulesHandler.fplusRulesBean.arrDepZoneList}"></f:selectItems>
</h:selectOneMenu>
</h:column>
<h:column>
<h:outputLabel styleClass="head-table" value="Voucher Type"></h:outputLabel>
</h:column>
<h:column>
<h:selectOneMenu value="#{fplusRulesHandler.fplusRulesBean.fpuFlightRules.voucherType}">
<f:selectItem itemLabel="LONG HAUL UPGRADE" itemValue="LONG HUAL UPGRADE" />
<f:selectItem itemLabel="EUROPE UPGRADE" itemValue="EUROPE UPGRADE" />
<f:ajax event="change" render="fplusAdd"></f:ajax>
</h:selectOneMenu>
</h:column>
<h:column rendered="#{fplusRulesHandler.fplusRulesBean.fpuFlightRules.voucherType == 'EUROPE UPGRADE'}">
<h:outputLabel styleClass="head-table" value="#{message['FplusRules.AddRules.Label.RedemptionPointDiscount']}"></h:outputLabel>
</h:column>
<h:column rendered="#{fplusRulesHandler.fplusRulesBean.fpuFlightRules.voucherType == 'EUROPE UPGRADE'}">
<h:inputText id="redemptionDiscount" value="#{fplusRulesHandler.fplusRulesBean.fpuFlightRules.redemptionPointsDisc}" validatorMessage="#{errorMessage['redemptionPointDiscountPositive']}"
converterMessage="#{errorMessage['redemptionPointDiscountPositive']}">
<f:convertNumber integerOnly="true"></f:convertNumber>
<f:validateLongRange minimum="0" />
</h:inputText>
<h:message for="redemptionDiscount" errorStyle="padding-left:10px;color :red" />
</h:column>
【问题讨论】:
-
什么是 fplusAdd?
-
fplusAdd 是 panelGrid Id
-
您是否尝试为所有
设置 ?似乎 selectOneMenus 被彼此重置 - 当您选择某个值时,其中的数据不会自动发送到服务器。
标签: jsf-2