我在html页面中有两个对话框。 ONe列出数据表中的所有链接。当我在此对话框上单击编辑时,将打开另一个实际编辑链接的对话框。我的问题是列出所有链接的数据表没有得到更新。请帮我解决一下这个。我尝试了一切,但都是徒劳。
dialog1.xhtml
<p:dialog id="selectLinkDialog" styleClass="fnp-dialog"
modal="true"
appendToBody="false"
widgetVar="selectLinkDialog">
<h:form id="selectLinkForm">
<p:dataTable id="externalLinksTable"
value="#{fnpHomeBackingBean.externalLinks}" var="model"
widgetVar="fnpHomeExternalLinksTable">
<p:column headerText="Actions">
<p:commandLink id="external-link-edit-#{index}"
value="Edit" update="editLinkDialog"
oncomplete="PF('editLinkDialog').show();
return false;">
<f:setPropertyActionListener value="#{model}"
target="#
{fnpHomeBackingBean.selectedExternalLink}" />
</p:commandLink>
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
dialog2.xhtml
<p:dialog id="editLinkDialog" header="Edit External Link" modal="true"
widgetVar="editLinkDialog">
<h:form id= "editLinkForm">
<p:commandButton id="saveExternalLinkButton" value="Save"
update=":selectLinkForm:externalLinksTable"
actionListener="#{fnpHomeBackingBean.saveExternalLink()}">
</p:commandButton>
</h:form>
</p:dialog>
答案 0 :(得分:0)
尝试使用jquery选择器更新表单
...
<p:commandButton id="saveExternalLinkButton" value="Save"
update="@(form[id*='selectLinkForm'])"
actionListener="#{fnpHomeBackingBean.saveExternalLink()}">
</p:commandButton>
...