2012-08-24 146 views
0

selectBooleanCheckbox ajax事件觸發,但偵聽器從不執行。 如果我刪除了c:forEach,只需調用列表中的第一個就可以了。selectBooleanCheckbox ajax事件觸發但偵聽器從未執行

<p:selectBooleanCheckbox value="#{Controller.graphFilter.get(0).checked}" > 
     <p:ajax listener="#{Controller.addMessage}" /> 
</p:selectBooleanCheckbox> 

筆記: graphFilter就是容器具有設置/獲取用於檢查和說明的列表。 controller是一個viewcoped託管bean。 addMessage公共函數,爲咆哮放置一條消息。 一切都在相同的形式。

<h:form id="form" prependId="false"> 
<p:growl id="growl" showDetail="true"/> 

<c:forEach items="#{Controller.graphFilter}" var="Gc"> 
    <h:outputText value="#{Gc.description}" /> 
     <p:selectBooleanCheckbox value="#{Gc.checked}" > 
      <p:ajax listener="#{Controller.addMessage}"/> 
     </p:selectBooleanCheckbox>          
</c:forEach> 
</h:form> 

回答

0

你應該用p包住部分組成:柱:

<p:column> 
    <h:outputText value="#{Gc.description}" /> 
     <p:selectBooleanCheckbox value="#{Gc.checked}" > 
      <p:ajax listener="#{Controller.addMessage}"/> 
     </p:selectBooleanCheckbox> 
</p:column> 

但是隨着p:dataList更換整個結構將是更優雅。

相關問題