对话框hide()和show() - Jquery?

时间:2013-06-28 06:34:13

标签: jquery jquery-ui-dialog jquery-dialog

我在我的页面中使用了3个对话框,用于3个差异目的。

我创建对话框

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

我在对话框上完成操作后关闭对话框

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

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

这样的函数的对话框启动
  $(".ui-dialog").show();

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

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

是否有任何正确的方法可以隐藏和显示对话框而不重叠或干净。

3 个答案:

答案 0 :(得分:23)

您需要使用小部件提供的close(隐藏)和open(显示)功能

$(".ui-dialog").dialog('close');
$(".ui-dialog").dialog('open');

答案 1 :(得分:5)

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

$(".dialog").parent().hide()
$(".dialog").parent().show()

答案 2 :(得分:0)

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

//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" );