Наличие проблем, ссылающихся на $ (это) из вложенная ajax функция 'успеха'... Я знаю, что это - проблема объема, но, может казаться, не находит, что очевидный способ закрывает диалоговое окно на успешном обновлении. Спасибо за любую справку.
$("#dialog_support_option_form").dialog({
width: 400,
height: 180,
bgiframe: true,
autoOpen: false,
modal: true,
buttons: {
'Save Support Option': function(){
$.ajax({
type: 'POST',
url: "support_options/create_support_option.php",
data: $(this).find('form').serialize(),
success: function(data){
$("#list_support_options").html(data);
$(this).dialog('close');
}
});
},
'Cancel': function(){
$(this).dialog('close');
}
},
close: function(){
$(this).find('input').val('');
}
});
Вы должны использовать опцию ajax context: $ (this),
, чтобы установить область для обратных вызовов для выбранного элемента.
Попробуйте с помощью $. Proxy ()
success: $.proxy(function(data){
$(this).dialog('close');
}, this);
С его помощью вы можете «передать» область сверху в функцию
У вас должна быть копия этой переменной, например:
var dlg = $(this);
$.ajax({
type: 'POST',
url: "support_options/create_support_option.php",
data: $(this).find('form').serialize(),
success: function(data){
$("#list_support_options").html(data);
dlg.dialog('close');
}
});
С это
находится в другом контексте при возврате, вам нужно захватить его и передать в закрытие :)