我正在使用jsf页面,使用primefaces,我遇到了问题: 我有一个对话框,女巫有一个按钮,点击它后,我又弹出一个对话框(弹出)。 所以,我的问题是,当我关闭第二个对话框时,第一个对话框也正在关闭。
所以,这是第一个对话框:
<h:form id="propertyForm">
<p:dialog id="propertyValuesDlg"
resizable="false"
modal="true"
closable="false">
<p:panelGrid columns="1" style="width: 100%;">
<p:dataTable var='propertyValue'
value="..."
id="propertyValuesTable"
widgetVar="propertyValuesTableWidget"
rowKey="..."
selection="...">
<p:ajax event="rowSelectCheckbox"/>
<p:ajax event="rowUnselectCheckbox"/>
<p:ajax event="toggleSelect"/>
<p:column style="text-align:center; width:20px;"
selectionMode="multiple"/>
<p:column headerText="Property Name">
<h:outputText value="..." title="..."/>
</p:column>
<p:column headerText="Property Value">
<p:inputText value="..."/>
</p:column>
</p:dataTable>
<f:facet name="footer">
<p:commandButton value="Add"
icon="button-add-class"
oncomplete="addPropertyDialog.show();"
update=":addPropertyDlg"
immediate="true"/>
</f:facet>
</p:panelGrid>
</p:dialog>
</h:form>
点击&#34;添加&#34;按钮,我得到第二个对话框:
<p:dialog id="addPropertyDlg"
widgetVar="addPropertyDialog"
resizable="false"
appendToBody="true">
<p:panel id="addPropertyPanel" style="width: 100%">
<h:form>
<h:panelGrid columns="3">
<p:outputLabel for="addPropertyDropdown"
value="Select property: "
style="width: 80px"/>
<p:selectOneMenu id="addPropertyDropdown"
value="..."
effect="fade"
converter="..."
style="width: 150px;">
<f:selectItems value="..."
var=".."
itemLabel="..."
itemValue="..."/>
</p:selectOneMenu>
<p:commandButton value="OK"
icon="button-accept-class"
actionListener="..."
oncomplete="addPropertyDialog.hide();"
update=":propertyForm:propertyValuesDlg"/>
</h:panelGrid>
</h:form>
</p:panel>
</p:dialog>
所以,任何想法,我应该怎么做才能保持propertyValuesDLg打开?
答案 0 :(得分:0)
Hatem Alimam写道:
那是因为您正在更新“确定”按钮中的第一个对话框!基本上,如果您在对话框自动打开时更新它将会关闭,因为整个内容已在DOM中被替换。尝试更新propertyValuesTable。