我有3個SelectOneChoice,這是不是 datacontrol,取決於第一個SelectOneChoice的值其他2 SelectOneChoice應顯示和隱藏的值。 我用manged豆,我用valueChangeListener第一個SelectOneChoice隱藏和顯示,根據該選擇其他2 SelectOneChoice,而在其他2 SelectOneChoice部分,但它沒有工作隱藏顯示組件adf
這裏是第一SelectOneChoice
<af:selectOneChoice label="acnt type" id="soc10" valueChangeListener="#{backingBeanScope.JasperBean.hideShowAccounts}"
autoSubmit="true" required="true" contentStyle="width:118px">
<af:selectItem label="Cultural Division Accounts" value="CA" id="si12"/>
<af:selectItem label="Students Accounts" value="SA" id="si13"/>
</af:selectOneChoice>
這裏的其他2 SelectOneChoice
<af:selectOneChoice label="bb"
valueChangeListener="#{backingBeanScope.JasperBean.storeAccount}"
id="soc11" autoSubmit="true" partialTriggers="soc10">
<af:selectItem label="Select Account" value="-1" id="si220"/>
<f:selectItems value="#{backingBeanScope.JasperBean.accounts}" id="si1"/>
</af:selectOneChoice>
<af:selectOneChoice label="aa"
valueChangeListener="#{backingBeanScope.JasperBean.storeAccount}"
id="soc12" autoSubmit="true"
partialTriggers="soc10"
rendered="#{backingBeanScope.JasperBean.saShown}">
<af:selectItem label="Select Account" value="-1" id="si221"/>
<f:selectItems value="#{backingBeanScope.JasperBean.studentAccounts}" id="si121"/>
</af:selectOneChoice>
這裏是託管bean代碼。
public void hideShowAccounts(ValueChangeEvent valueChangeEvent) {
if(valueChangeEvent.getNewValue().toString().equals("CA"))
{
ddlCAaccounts.setRendered(true);
ddlSAaccounts.setRendered(false);
}
else if(valueChangeEvent.getNewValue().toString().equals("SA"))
{
ddlCAaccounts.setRendered(false);
ddlSAaccounts.setRendered(true);
}
}
它是否可以使用JavaScript來實現也告訴我怎麼樣,沒有必要在託管bean做
你有沒有試圖把valueChangeEvent.getComponent()processUpdates(FacesContext.getCurrentInstance())。作爲你管理bean代碼的第一行?此外,我沒有看到頁面源代碼中兩個LOV的綁定參考。 – Endrik