2012-08-24 100 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更换整个结构将是更优雅。

相关问题