5

我在我的页面中使用 3 个对话框用于 3 个不同的目的。

我正在创建对话框

  $(".dialog").dialog({
        height: 238,
        width: 465,
        resizable: false,
        title: "Edit"
    });

在我对对话框执行操作后,我将关闭对话框

   $(".ui-dialog").hide();

当我以这种方式隐藏时,对话框第二次没有打开,所以尝试显示对话框开始的功能,如

  $(".ui-dialog").show();

我的问题从这里开始......

当我显示对话框时,对话框被多次打开,但第一个打开的对话框与第二个对话框重叠,

是否有任何适当的方法来隐藏和显示对话框而不重叠或以干净的方式。

4

3 回答 3

25

您需要使用小部件提供的关闭(隐藏)和打开(显示)功能

$(".ui-dialog").dialog('close');
$(".ui-dialog").dialog('open');
于 2013-06-28T06:38:44.260 回答
8

如果您只想隐藏/显示对话框而不关闭它,您可以使用

$(".dialog").parent().hide()
$(".dialog").parent().show()
于 2015-12-09T21:40:58.820 回答
1

显示/隐藏对话框,我们需要使用打开/关闭方法

//To close the dialog use 'close' method.
//It will hide the dialog. Your html and data still exist in the DOM  
$("#my_dialog_id").dialog('close');   

//Show closed dialog again if it is still exists and not destroyed the
$("#my_dialog_id").dialog('open');

//This method totally destroy your dialog. Element will be returned to pre-init state
$("#my_dialog_id").dialog('destroy');

//To check if the dialog is open or not 
var isOpen = $( "#my_dialog_id" ).dialog( "isOpen" );
于 2018-06-18T02:05:56.953 回答