隐藏对话框后,另一个对话框也隐藏

问题描述:

我正在使用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打开?

+0

将Form Element放置在两个更高的元素上。像

。这可能有帮助。 – 2014-10-01 06:48:03

+0

这是因为你正在更新OK按钮中的第一个对话框!基本上,如果在自然地打开对话框时更新对话框,它将关闭,因为DOM中的内容已被替换。尝试更新'propertyValuesTable'。 – 2014-10-01 06:52:30

+0

@HatemAlimam非常感谢,它为我工作!您可以将其作为答案发布 – 2014-10-01 08:15:45

哈特姆Alimam写道:

那是因为你在确定按钮更新的第一个对话框!基本上,如果在自然地打开对话框时更新对话框,它将关闭,因为DOM中的内容已被替换。尝试更新propertyValuesTable。