2011-09-27 53 views
-1

我的場景是: 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

我只是對帖子進行編輯,包括更多的信息。謝謝 –

回答

1

您可以定義是否希望對話框堆疊或不在其他對話框中。因此,您可以決定在調用多個對話框時看到的對話框。

(來自文檔)

dialog option: stack

指定對話框是否將堆疊在其它對話框的頂部。當 獲得焦點時,此對話框將使對話框移動到其他對話框的前面。 代碼示例 使用指定的堆棧選項初始化對話框。

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

獲取或設置堆棧選項,初始化後。

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

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

還有一個z-index選項,所以你可以在每個新對話框中增加它,以便它們按照它們被調用的順序堆疊。 – orolo