2011-08-02 90 views
5

下面是一個簡單http://jsfiddle.net/mUpjw/15/JQuery的對話框(「公開」)不工作

我有jQuery 1.2版本在一些舊代碼,它是打開的對話框這種方式。

$('#myDiv').dialog('open'); 

我升級到jquery 1.6.1,它工作正常。但如果我添加一個DOCTYPE比它不工作,但如果我做

$('#myDiv').dialog(); 

這工作正常。

這是什麼原因?

+0

鏈接到您的頁面/代碼? – AlienWebguy

+0

@AlienWebguy http://jsfiddle.net/mUpjw/15/ –

回答

4

您需要設置您的對話框。

<div id="dialog_link">click here</div> 
<div id="mydiv" style="display:none;">This is some document here.Will be shown as used 'open'</div> 
<div id="mydiv2" style="display:none;">This is some document here</div> 

$(document).ready(function(){ 

$('#mydiv').dialog({ 
    autoOpen: false, 
    width: 600, 
    buttons: { 
     "Ok": function() { 
      $(this).dialog("close"); 
     }, 
     "Cancel": function() { 
      $(this).dialog("close"); 
     } 
    } 
}); 

$('#dialog_link').click(function() { 
    $('#mydiv').dialog('open'); 
    return false; 
}); 
+0

有趣的是,當$('#mydiv')。dialog({..})在.ready()之外時,它沒有打開。當我把它移入內部時,所有事情都按預期開始工作去搞清楚。 謝謝@Caimen – Califf

0

這是用來後已初始化的對話框中的選項..

$('#mydiv').dialog({autoOpen: false}); 
// now you can call it with 'open' to actually show it.. 
$('#myDiv').dialog('open'); 

演示在http://jsfiddle.net/gaby/mUpjw/16/

的區別是jQuery UI的版本和不間jQuery庫

+0

我有同樣的問題,這個答案解決了我的問題。謝謝 –