jquery对话框的最佳方法

时间:2011-09-27 18:02:50

标签: jquery jquery-ui

我的情景是: 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(); }
        });
    });

});

目前,只有一个对话框会有焦点。

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

1 个答案:

答案 0 :(得分:1)

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

(来自文档)

dialog option: stack

  

指定对话框是否将堆叠在其他对话框之上。这个   将导致对话框移动到其他对话框的前面   获得焦点。        代码示例        使用指定的堆栈选项初始化对话框。

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

在init之后获取或设置堆栈选项。

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

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