许多问题与这个问题非常相似,但我看不到解决方案。
以下代码没有给出错误,但未按预期运行。它显示三列:
第一列是一个复选框,用于激活第二列的可编辑字段
第三列是行删除方法
第 4 列是进入下一页的一个按钮
<h:column> <h:panelGroup id="editCol"> <f:facet name="header"> <h:outputText value="Edit" style="font-weight: bold"> </h:outputText> </f:facet> <h:selectBooleanCheckbox value="#{m.editable}" onclick="submit()"> <f:ajax execute="editCol :formId:dataId:authorCol" render="editCol :formId:dataId:authorCol" /> </h:selectBooleanCheckbox> </h:panelGroup> </h:column> <h:column> <h:panelGroup id="authorCol"> <f:facet name="header"> <h:outputText value="Label" style="font-weight: bold"> </h:outputText> </f:facet> <h:inputText value="#{m.author2displayed}" rendered="#{m.editable}" size="10"/> <h:outputText value="#{m.author2displayed}" rendered="#{not m.editable}"/> <h:commandButton value="save edits" rendered="#{m.editable}" onclick="submit()" action ="#{finalCheckBean.saveedits()}"> <f:ajax execute="authorCol" render="authorCol" /> </h:commandButton> </h:panelGroup> </h:column> <h:column> <h:panelGroup id="deleteCol"> <f:facet name="header"> <h:outputText value="delete row(s)" style="font-weight: bold"> </h:outputText> </f:facet> <h:selectBooleanCheckbox value="#{m.deleted}" onclick="submit()"/> <h:commandButton value="delete row(s)?" rendered="#{m.deleted}" onclick="submit()" action ="#{finalCheckBean.deleteRow()}"/> </h:panelGroup> </h:column> <h:column> <f:facet name="header"> <h:commandButton value="save changes" action="#{finalCheckBean.moveon}"/> </f:facet> </h:column> </h:dataTable>
当我
selectBooleanCheckbox
在第一列中勾选时,该框被勾选但没有任何反应,实际上应该切换第二列中组件的显示。有趣的是,当我然后单击
selectBooleanCheckbox
不使用 ajax 的第三列中的
如何使我selectBooleanCheckbox
的第一列正常工作?