2011-07-12 205 views
0

我找到了關於這個問題的答案,但看起來問題不同。關閉後我無法再打開它。jQuery UI對話框只打開一次

編輯:好的,似乎有其他地方在我的jquery代碼中有錯誤。

$(function() { 
    $("#dialog").dialog({ 
     autoOpen: false, 
     show: "blind", 
     hide: "explode" 
    }); 
    $('#opener').click(openDialog); 

}) 

var openDialog = function(){ 


    $('#dialog').dialog('option', 'buttons',{ 
     "Cancel":function(){ 
     $('#dialog').dialog('close'); 
     } 
    }); 


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

}; 

和HTML:

<div id="dialog" title="Basic dialog"> 
    <p>This is an animated dialog which is useful for displaying information. The  dialog window can be moved, resized and closed with the 'x' icon.</p> 
</div> 

<button id="opener">Open Dialog</button> 
+0

你期望它做什麼?打開兩次? – pimvdb

+1

沒有關閉它之後我想能夠再次打開它。 – Vonder

+0

是否有任何javascript錯誤? –

回答

1

嘗試添加摧毀對話框關閉方法調用:

var openDialog = function(){ 
    $('#dialog').dialog('option', 
    close: function() { $(this).dialog("destroy"); }, 
    'buttons',{ 
     "Cancel":function(){ 
     $('#dialog').dialog('close'); 
     } 
    }); 
+0

感謝它的工作:) – Raheel

+0

其作品... gr8 – Priyansh

1

看一看這個jsFiddle,因爲它的工作原理

編輯:更新鏈接,因爲它不是一個

0

我想你應該在

$('#dialog').dialog('option', 'buttons',{ 
    "Cancel":function(){ 
    // notice the hide here 
    $('#dialog').dialog('hide'); 
    } 
}); 

使用hide,而不是close我沒有測試過,但是,據我能記得它。 希望這可以幫助