2014-06-25 107 views
0

我有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做

+0

你有沒有試圖把valueChangeEvent.getComponent()processUpdates(FacesContext.getCurrentInstance())。作爲你管理bean代碼的第一行?此外,我沒有看到頁面源代碼中兩個LOV的綁定參考。 – Endrik

回答