2013-03-31 175 views
0

下面你看到的我的代碼的某些部分,我只是想選擇一個表單的第一個值,其餘應通過AJAX的更新,例如,如果您選擇PK比,MccName,MccVorname,MccDepartment應該在選擇之後通過ajax顯示。 這也應該可以在其他形式的自主承擔,阿賈克斯並不總是工作

<h:panelGrid columns="4"> 
    <h:form id="formmcc10"> 
     <h:outputText value="Pls select PK: " /> 
     <p:selectOneMenu value="#categorymcc.mcccatname}" id="mcccat" 
      immediate="true" valueChangeListener="#categorymcc.processScat}"> 
      <f:selectItem itemLabel="#categorymcc.mcccatname}"itemValue="" /> 
      <f:selectItems value="#categorymcc.categoryName}" /> 
      <p:ajax update="formmcc10:mccscat1 formmcc10:mccscat2 formmcc10:mccscat3" event="change" /> 
     </p:selectOneMenu><h:outputText value="Mcc Name" /> 
     <p:selectOneMenu value="#{categorymcc.submcccatname}"id="mccscat1"> 
      <f:selectItemsvalue="#{categorymcc.subCategoryName}" /> 
     </p:selectOneMenu> 
     <h:outputText value="Mcc Vorname" /> 
     <p:selectOneMenu value="#{categorymcc.subsubmcccatname}"id="mccscat2"> 
      <f:selectItems value="#{categorymcc.subSubCategoryName}" /> 
     </p:selectOneMenu> 
     <h:outputText value="Mcc Department:" /> 
     <p:selectOneMenu value="#{categorymcc.abteilung}" id="mccscat3"> 
      <f:selectItems value="#{categorymcc.abteilungCategoryName}" /> 
     </p:selectOneMenu> 
    </h:form> 
</h:panelGrid> 
+0

這個問題可能是你的管理bean定義(在當前的代碼,比如'#categorymcc.categoryName}'缺少左括號固定錯別字''{)。確保您的託管bean是'@ManagedBean @ ViewScoped'或者如果您使用CDI然後'@Named @ SessionScoped' –

回答

0

這可以是任何東西,但我最近遇到這樣一個有趣的問題。我試圖輸出bean屬性像#{myBean.otherBean.name}和它的工作時,我通過正常請求加載的頁面,但它並沒有使用AJAX工作。當我嘗試#{myBean.otherBean.id}時,它在兩種情況下都起作用。

的問題是,該後端系統沒有填寫的所有數據otherBean在AJAX請求時,它僅填充ID(可能是更好的性能)。我必須準備一個getOtherBeanById方法,當我打電話時,AJAX開始按預期工作。

我不是這方面的專家,也許有人應該是一個更精確的解釋。

+0

失蹤括號「{」是我的轉移問題。在原始代碼中,它們存在。將所有Bean更改爲除dateBean外的@ViewScoped。之後,頁面更加平滑,您不能選擇mccPk,並且在從第一次下拉選擇之後沒有任何反應,則無法使用ajax。 –