0
我正在使用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>
後點擊「添加」按鈕,我得到第二個對話框:
<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打開?
將Form Element放置在兩個更高的元素上。像。這可能有幫助。 –
2014-10-01 06:48:03
這是因爲你正在更新OK按鈕中的第一個對話框!基本上,如果在自然地打開對話框時更新對話框,它將關閉,因爲DOM中的內容已被替換。嘗試更新'propertyValuesTable'。 – 2014-10-01 06:52:30
@HatemAlimam非常感謝,它爲我工作!您可以將其作爲答案發布 – 2014-10-01 08:15:45