2012-03-04 2 views
1

У меня есть следующая настройка для моего jquery ui dialog.jquery диалог закрыть событие никогда не срабатывает?

$("#dayEditForm").dialog({ 
     autoOpen: false, 
     height: 475, 
     width: 750, 
     title: "Edit", 
     modal: true, 
     show: 'drop', 
     hide: { effect: "drop", direction: "right" }, 
     open: function() { 
      $("#editForm").validate(); 
     }, 
     close: function() { 
      alert("closing dialog"); 
      $("#editForm").resetForm(); 
     }, 
     buttons: { 
      "Save": function() { 
       var isValid = $("#editForm").valid(); 
       if (isValid) { 
        // Save stuff here 
        $(this).dialog("close"); 
       } 
      }, 
      Cancel: function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 

Однако alert("closing dialog") в «тесном» событие никогда не показывает. Что я сделал не так?

UPDATE: Если удалить эту строку

hide: { effect: "drop", direction: "right" } 

из диалогового окна определения, то он работает отлично ...

Является ли это ошибка? Или ожидаемое поведение?

+1

У меня также возникают проблемы с использованием события 'закрыть' время от времени. Хотя я не могу объяснить, почему, попробуйте изменить это событие на 'beforeClose' и посмотреть, делает ли это трюк, обычно это делает для меня. –

+0

Я только что переместил «resetForm» в открытую часть. Я просто хочу, чтобы форма была сброшена, прежде чем пользователь увидит ее в следующий раз, так что все в порядке. –

ответ

1

Я считаю, что это ошибка, которая была решена в более поздней версии. См. here. jQuery-ui 1.9.1 - хорошая ставка для разрешения этого.

Если вы не хотите обновлять свой источник, точка Горана в комментарии также работает для меня. Поменяйте событие close на beforeClose, и оно должно срабатывать и быть примерно эквивалентным в зависимости от того, что вы надеетесь выполнить.

Благодарим за отправку вопроса и выяснение корреляции с опцией hide!

0

Я думаю, вам нужно использовать "Cancel" вместо Cancel в buttons часть.

+3

Объектная нотация будет приниматься либо для непрерывного имени – charlietfl

Смежные вопросы