2012-12-28 76 views
1

我有下面的對話框加載displayRecords.php。我有對話框上的關閉按鈕,但我努力使它工作。如何關閉JQuery對話框?

$(document).ready(function() { 

    var dlg=$('#ticketDetails').dialog({ 
     title: 'Ticket Details', 
     resizable: false, 
     autoOpen:false, 
     modal: true, 
     hide: 'fade', 
     buttons:{ "Close": function() { $(this).dialog("close"); } }, 
     close: function(e, i) { $(this).hide(); }, 
     width: 1300 


    }); 


    $('a.view').click(

    function(e) 
    {  

     dlg.load('displayRecord.php?id='+this.id, function(){ 
     dlg.dialog('open'); 

    }); 

    }); 

}); 

我對JQuery相當陌生。有人能指出在上面看起來錯了嗎?

+0

http://stackoverflow.com/questions/2933826/how-to-close-jquery-dialog-在對話框內建議'dlg.dialog('close');' –

+0

@FrankvanPuffelen:是這就是我正在使用,但我似乎無法弄清楚爲什麼它的失敗.. – greenpool

回答

2
var dlg = ''; 
$(document).ready(function() { 

    dlg=$('#ticketDetails').dialog({ 
     title: 'Ticket Details', 
     resizable: false, 
     autoOpen:false, 
     modal: true, 
     hide: 'fade', 
     buttons:{ "Close": function() { $(this).dialog("close"); } }, 
     close: function(e, i) { $(this).hide(); }, 
     width: 1300 
    }); 


    $('a.view').click(

    function(e) 
    {  

     dlg.load('displayRecord.php?id='+this.id, function(){ 
     dlg.dialog('open'); 

    }); 

    }); 


$('a.closeDialog').click(function(){dlg.dialog('close');}); 
}); 

一些小調整,可能在概念上工作。我給出的想法是在函數之外聲明dlg作爲各種全局變量,其餘函數可以重用

+0

似乎並不奏效。 $('a.closeDialog')'定義在哪裏? – greenpool

+0

它定義在您的DOM ...希望 – mkoryak

+0

從我的理解,我可以只添加'按鈕:{「關閉」:function(){$(this).dialog(「close」); }},它將按鈕插入對話框而不必創建外部鏈接。我看到按鈕。我甚至可以得到一個警報來觸發,但它不會關閉:/ – greenpool