Нет, это не то, как вы должны открыть диалоговое окно. Взгляните на это вместо:
$(function () {
$("#foo").click(function(){
$("#bar").dialog('open');
});
$("#bar").dialog({
autoOpen: false,
width: 400,
modal: true,
resizable: false,
buttons:{
"Save": function(){
$.post('remote_foo.php', $('#waka').serialize(), function(data){
$('#list').html(data);})
$(this).dialog("close");
$('.dial').val('');
$('.url').val('http://');
},
"cancel": function(){
$(this).dialog("close");
}
}//end of buttons
}); // end of dialogInit
})// end of document ready
По сути, вы переинициализировали свой диалог с каждым кликом. Вместо этого инициализируйте его один раз в готовом документе, а затем откройте / закройте его с событиями щелчка.
Вызов установки диалога для объекта DOM необходимо вызывать только один раз, чтобы подготовить этот объект к различным задачам, связанным с пользовательским интерфейсом jQuery. После подготовки вы можете просто использовать .dialog («открыть») и .dialog («закрыть»), и конфигурация для него будет сохраняться каждый раз.