打开多个对话框实例

时间:2013-09-24 12:01:12

标签: javascript jquery html primefaces

我想知道是否可以调用仅创建一次的对话框的多个实例。

例如:

我有这个代码创建对话框:

<p:dialog id="dlgFormUsu" header="Dialog User" maximizable="true"
    minimizable="true" hideEffect="fade" widgetVar="dlgFormUsu"
    resizable="false" closable="true" draggable="true">

当我致电dlgFormUsu.show()时,它会正常打开,但如果我再次尝试打开它,则无法显示任何内容。

无论如何要打开两次相同的对话框?

1 个答案:

答案 0 :(得分:2)

不,对话框只有一个实例,显示或隐藏。调用show()和hide()分别显示或隐藏对话框。

如果您需要多个对话框实例,请在ui:composition内声明对话框并使用ui:include多次实例化:

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns:p="http://primefaces.org/ui">

   <ui:dialog id="myDialog#{id}" widgetVar="myDialog_widget#{id}" .... />

</ui:composition>

<ui:include src="mydialog.xhtml">
    <ui:param name="id" value="first" />
</ui:include>

<ui:include src="mydialog.xhtml">
    <ui:param name="id" value="second" />
</ui:include>