jquery对话框最佳方法

问题描述:

我的场景是: 1.我的页面中有一个链接,打开一个对话框。 2.在此对话框中可能有另一个链接打开另一个对话框,依此类推。jquery对话框最佳方法

解决此问题的最佳方法是什么? 哪里会创建对话框?

-

我尝试这样做:

在我的网页,我宣布一个div是我所有对话框的占位符:

<div id="dialog-placeholder"> 
</div> 

在我的javascript代码做这样的事情:

$(".bs-icon").live("click", function() { 
    var dp = $("#dialog-placeholder"); 

    dp.html("<div id='dialog'></div>"); 

    //load index page in dialog 
    $.get("/Car/IndexLookup", function (response) { 
     dp.find("#dialog").html(response); 
     var dialog = dp.find("#dialog").dialog({ 
      modal: true, 
      width: 700, 
      height: 400, 
      close: function (ev, ui) { $(this).remove(); } 
     }); 
    }); 

}); 

现在,只有一个对话框会有焦点。

这有效,但它是一个好方法?

+0

我只是对帖子进行编辑,包括更多的信息。谢谢 –

您可以定义是否希望对话框堆叠或不在其他对话框中。因此,您可以决定在调用多个对话框时看到的对话框。

(来自文档)

dialog option: stack

指定对话框是否将堆叠在其它对话框的顶部。当 获得焦点时,此对话框将使对话框移动到其他对话框的前面。 代码示例 使用指定的堆栈选项初始化对话框。

$(".selector").dialog({ stack: false }); 

获取或设置堆栈选项,初始化后。

//getter 
var stack = $(".selector").dialog("option", "stack"); 

//setter 
$(".selector").dialog("option", "stack", false); 
+0

还有一个z-index选项,所以你可以在每个新对话框中增加它,以便它们按照它们被调用的顺序堆叠。 – orolo