我有一个与更新1删除按钮的数据表关联的ajax事件。该按钮具有对话框的更新标记,如下所示:
<ui:insert id="itemDeleteDlg" name="dlg-delete-item"><ui:include src="/pages/admin/item/deleteItem.xhtml" /></ui:insert>
<h:form id="itemOptions" prependId="false">
<h:commandLink type="button" styleClass="aui-button"
onclick="openDialog('deleteItemDialog');return false;" update="@form :deleteItemForm">
</h:form>
<p:dataTable>
...
<p:ajax event="rowSelect" listener="#{itemBB.onRowSelect}" update="@form :itemOptions"/>
...
</p:dataTable>
表单deleteItemForm位于ui:insert中。触发rowSelect事件时,表单itemsOptions会更新,但是当我单击删除按钮时,deleteItemForm不会更新。
我做错了什么?
答案 0 :(得分:1)
你的h:commandLink onclick属性以&#39; return false&#39;结束,这有效地取消了相关的ajax调用。假设你要执行&#39; deleteItemForm&#39;的ajax更新,然后调用&#39; openDialog&#39;,你应该这样做:
<p:commandLink type="button" styleClass="aui-button" update="@form :deleteItemForm"
oncomplete="openDialog('deleteItemDialog')" />