2012-12-28 3 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

관련 문제