2012-05-13 2 views
0

사용자가 대화 상자를 닫으려고 버튼을 눌렀을 때 알림을 받고 싶습니다. 다음을 시도했지만 작동하지 않습니다.대화 상자의 알림

<div id="TestDialog"/> 

$("#TestDialog").dialog({ 
    autoOpen: true, 
    resizable: true, 
    modal: true, 
    position: ['middle', 'middle'], 
    savePushed: function() { 
     alert('save pushed'); 
    }, 
    closePushed: function() { 
     alert('save pushed'); 
    }, 

    buttons: { 
     "Save": function() { 
      // alert('save'); 
      savePushed(); 

      $(this).dialog("close"); 
     }, 
     Close: function() { 
      //alert('close'); 
      closePushed(); 
      $(this).dialog("close"); 
     } 
    } 
}); 

다른 아이디어?

답변

1

savePushed()closePushed() 함수를 올바르게 정의해야합니다. 그들은 Jquery-UI Dialog의 일부가 아니므로이 옵션으로 설정할 수 없습니다.

working Fiddle Example!

이에 코드를 다시 작성 참조 :

$("#TestDialog").dialog({ 
    autoOpen: true, 
    resizable: true, 
    modal: true, 
    position: ['middle', 'middle'], 
    buttons: { 
     "Save": function() { 
      alert('Save button was pressed!'); 
      $(this).dialog("close"); 
     }, 
     "Close": function() { 
      alert('Close button was pressed!'); 
      $(this).dialog("close"); 
     } 
    } 
}); 

하면, 사용자가 버튼을 누를 때, 기능 savePushed() 또는 closePushed() 사용자에게 전화를 걸

필요한 경우 다음과 같이 코드를 다시 작성할 수 있습니다.

function savePushed() { 
    alert('Save button was pressed!'); 
} 

function closePushed() { 
    alert('Save button was pressed!'); 
} 

$("#TestDialog").dialog({ 
    autoOpen: true, 
    resizable: true, 
    modal: true, 
    position: ['middle', 'middle'], 
    buttons: { 
     "Save": function() { 
      savePushed(); 
      $(this).dialog("close"); 
     }, 
     "Close": function() { 
      closePushed(); 
      $(this).dialog("close"); 
     } 
    } 
}); 

working Fiddle example!