我的情景是: 1.我的页面中有一个链接可以打开一个对话框。 2.在此对话框中可能有另一个链接打开另一个对话框,依此类推..
解决此问题的最佳方法是什么? 这个对话框将在何处创建?
-
我试过了:
在我的页面中,我声明一个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 :(得分:1)
您可以定义是否希望对话框在其他对话框中堆叠。因此,您可以决定在调用多个对话框时看到哪个对话框。
(来自文档)
指定对话框是否将堆叠在其他对话框之上。这个 将导致对话框移动到其他对话框的前面 获得焦点。 代码示例 使用指定的堆栈选项初始化对话框。
$( ".selector" ).dialog({ stack: false });
在init之后获取或设置堆栈选项。
//getter
var stack = $( ".selector" ).dialog( "option", "stack" );
//setter
$( ".selector" ).dialog( "option", "stack", false );