UI Dialog как победить двойной вызов???
Ребят объясните пожалуйста такую проблему. Хочу заполнять один дилог (виджет Dialog) то есть одно диалоговое окно
id="dialogTRGadd"разным контентом в зависимости от условия Но проблема в том что постоянно грузиться только выбранный первым контент То есть если первым сработало условие(код ниже) TRG[1]==""и я вижу alert ('Есть только дата');то потом даже если срабатывает условие иначе и я вижу alert ('Есть все данные')то грузиться диалоговое окно и контент в него из первого условия, Это видно по title диалогов окна и дополнит alert-ам К примеру первый раз я выбираю ситуацию у срабатывает условие в if (TRG[1]=="")я вижу alert ('Есть только дата');Дилог открывается с title:"Запись пары для учителя"и в итоге я вижу alert ("Cработа аякс вставки даты и время остальное нужно выбрать выбрав время");Это все правильно и как мне нужно. Но...Затем я выбираю ситуацию для else. Вижу как и положено alert ('Есть все данные');И дальше начинаются чудеса вместо alert("Cработал аякс вставки даты и периода времени для случая где есть все данные")затем alert("Cработал аякс вставки комнат")и других алертов из этого условия я вижу alert из первого условия alert ("Cработа аякс вставки даты и время остальное нужно выбрать выбрав время"); и в итоге диалоговое окно выезжает с title:"Запись пары для учителя"хотя должно быть title:"Запись пары для учителя_1", и контентом заполненым для первого условия И наоборот если я впервые захожу на сайт и выберу первым условие для элса то затем этот диалог вызывается и для ифа Пробовал дестроить диалог при close Такое ощущение что нужно уничтожить вызванный первым диалог чтобы запустить для другоого условия Или в чем же здесь дело? ХТМЛ такой <div id="dialogTRGadd"> <div id="TRGinsert_pair"></div> </div> вызов функции такой $("td#teach").live("dblclick",OPEN_DIALOG_ADD_PAIR_TRG); сама функция такова function OPEN_DIALOG_ADD_PAIR_TRG ( ) { if (TRG[1]=="") { alert ('Есть только дата'); $("#dialogTRGadd").dialog({ position: ["left","top"], title:"Запись пары для учителя", hide: "slide",show:"slide",height:400,width:700, zIndex:999, open: function(event, ui) { $.ajax({ url:"ajax/teachers/insert_pair_to_teacher.php", data:qstring, cache: false, success: function(html){ $("#TRGinsert_pair").html(html); alert ("Cработа аякс вставки даты и время остальное нужно выбрать выбрав время"); } }); } }).dialog("open"); } else { alert ('Есть все данные'); $("#dialogTRGadd").dialog( { position: ["left","top"], title:"Запись пары для учителя_1", hide: "slide",show:"slide",height:400,width:700, zIndex:999, open: function(event, ui) { $.ajax({ url:"ajax/teachers/insert_pair_to_teacher.php", data:qstring , cache: false, success: function(html) { $("#TRGinsert_pair").html(html); alert("Cработал аякс вставки даты и периода времени для случая где есть все данные"); $.ajax({ url: "ajax/teachers/return_TRG.php", data: qstring, cache: false, success: function(html){ alert("Cработал аякс вставки комнат"); $("#roomsTRG").replaceWith('<select id="roomsTRG" >'+html+'</select>'); } }); $.ajax({ url: "ajax/teachers/return_TRG.php", data: qstring, cache: false, success: function(html){ alert("Cработал аякс вставки групп"); $("#groupsTRG").replaceWith('<select id="groupsTRG" >'+html+'</select>'); } }); alert("После аякса вставки комнат и групп"); } }); }/*Закрытие open: function*/ }).dialog("open"); }/*Закрытие else */ } |
много букв. Ты можешь объяснить в чем у тебя проблема без "вот мой код, он не работает"? Например: "пытаюсь вызвать dialog для одного и того же элемента дважды, на второй раз диалог не появляется"
|
Cпасибо за то что откликнулся.Уже решил проблему. В каждом из условие в диалоге надо было прописать
close: function(event, ui) { $("#dialogTRGadd").dialog('destroy'); } Правда до конца не понимаю зачем его обязательно дестроить при закрытии??? Разве он не унчитожаестя Вообщем сделал так и перестало вызываться для разных последловательных условий одно и то же диалог окно. |
в том то и дело, что не уничтожается, и ты можешь его еще раз открыть
|
Часовой пояс GMT +3, время: 05:01. |