Primefaces在另一个更新中更新表单

时间:2014-09-16 22:19:43

标签: jsf primefaces

我有一个与更新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不会更新。

我做错了什么?

1 个答案:

答案 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')" />