jquery ui: nie można wywoływać metod w oknie dialogowym przed inicjalizacją; próba wywołania metody „zamknij”

Używam okna dialogowego jquery ui, ściągam go ze strony jquery ui, wersja jquery-ui-1.10.2.custom.min.js, a jquery to jquery-1.9.1.js, która jest dołączona do jquery ui js, ale teraz napotykam pytanie: po otwarciu okna dialogowego i kliknięciu przycisku Zapisz, chcę zamknąć okno dialogowe, oto mój kod:

$(function(){
 $("#dialog-form").dialog({
     autoOpen: false,
     height: 350,
     width: 450,
     modal: true,
     buttons: {
       "save": function() {
           if(!checkDept()){
               return ;
           }
           $.post('dept_save.do', 
                 {'dept.deptId':$("#dialog_dept_deptId").val(), 
                  'dept.deptName':$("#dialog_dept_deptName").val(),
                  'dept.manager':$("#dialog_dept_manager").val(),
                 },function(data, status, xhr){
                     if(status == 'success'){
                         alert('save success');
                         $(this).dialog("close");
                     }else{
                         alert('error:'+data);
                     }
                  }
                 ,"json");
       }
     },
     close: function() {
         $(this).dialog("close");
     }
   });

     /* to open dialog*/
    $("#add").click(function(){
        $("#dialog-form").dialog("open");
    });

teraz, gdy zamknę wyskakujące okno dialogowe „zapisz sukces”,dialog-form okno dialogowe nie zostało zamknięte i wystąpił błąd:

Nieprzechwycony błąd: nie można wywołać metod w oknie dialogowym przed inicjalizacją; próbował wywołać metodę 'close' jquery-1.9.1.js: 507.

i jest jeszcze jeden błąd:

Nieprzechwycony SyntaxError: Nieoczekiwany token o jquery-1.9.1.js: 541

dzięki.

questionAnswers(6)

yourAnswerToTheQuestion