Твою девизию, я как будто предыдущий пост на китайком писал. Там же разжёвано всё, а ты опять на те же грабли.
Ты при каждом щелчке теперь создаёшь диалог понимаешь, СОЗДАЁШЬ а не открываешь. А при нажатии на кнопку ты его не унечтожаешь а только закрываешь, он неперестаёт существовать от того что ты его закрыл. При втором нажатии ты создашь ещё один диалог, не унечтожая старый. Ты плодищь диалоги как кроликов, причём содержимое диалога, кочует из одного диалога в другой.
Ты как бы создаёшь машину на заводе только для того чтобы завести поездить и заглушить, когда тебе снова нужна машина ты создаёшь ещё одну оставляя старую машину ржаветь во дворе.
Или пиши так.
В данном примере мы создаём машину чтобы попользоваться, а по окончанию использования взрываем её нафиг чтобы немешалась.
function createDialog(){
$('#chat_div').dialog({
autoOpen: true,
buttons: {
'Ok': function() {
$(this).dialog('destroy');
},
'Cancel': function() {
$(this).dialog('destroy');
}
}
});
};
$('#chat').click(function(evtObj){
createDialog();
evtObj.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('#chat_div').html(data);
createDialog();
},'html');
});
Или так.
Тут мы создаём машину только однажды, когда надо заводим и едим, когда приехали глушим. И она стоит пока непонадобится. Как понадобится опять заводим и едим.
$('#chat_div').dialog({
autoOpen: false,
buttons: {
'Ok': function() {
$(this).dialog('close');
},
'Cancel': function() {
$(this).dialog('close');
}
}
});
$('#chat').click(function(evtObj){
$('#chat_div').dialog('open');
evtObj.preventDefault();
$.get($(this).attr('href'), {}, function(data){
$('#chat_div').html(data).dialog('open');
},'html');
});