Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JQuery UI dialog уничтожение окна, 2-3 раза вызывается как правильно destro 
V
    Опции темы
Sanchezzz
Дата 24.9.2012, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



Добрый день есть проблема с уничтожением вызванного окошка

Первые деалог вызывается и в него подгружается html + JS код через ajax
Код


$(function(){

$('.option .mini_i_edit').die();
$('.option .mini_i_edit').live( 'click' , function(){
    $('.editOption').dialog({ 
        autoOpen: true , 
        modal: true , 
        close:  function(){
               $('.editOption').dialog("destroy");    
        } 
    });
});

});

Все работает закрываем нажимаем на кнопку повторный вызов открываем диалог подгружаем выше указанный код нажимаем на .mini_i_edit создаются 2 окна а должен быть один. 
Получается событие 
Код

$('.editOption').dialog("destroy");
    неверно выполняется  либо я не правильно понял мануал

.option .mini_i_edit У меня динамический заполняемый список с кнопками редактировать удалить поэтому нужен был live

Версии
 JQuery 1.8.1
 JQuery UI 1.8.23





--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 24.9.2012, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Цитата(Sanchezzz @  24.9.2012,  16:02 Найти цитируемый пост)
Первые деалог вызывается и в него подгружается html + JS код через ajax

Возможно, во второй клик все подгрузилось уже 2 раза. Таким образом 2 live на одной ссылке открыли 2 диалога.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sanchezzz
Дата 24.9.2012, 16:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



Код

$('.option .mini_i_edit').die();

Должно убить все событие.

Добавлено @ 16:39
Добавил Алерт в клик.  Алерт появляется 1 раз но окна по прежнем показывает. мне кажется тут виновата верстка как я ее использую 

Код

<div class="editOption" style="display:none">
    <div class="editOption_div" style="display:none">
        <label>Значение</label>
        <input type="text" class="OptionValue">
        <label>Название</label>
        <input type="text" class="OptionName">
        <label>Выбрано по умолчанию?</label>
        <input type="checkbox" class="OptionSelected">    
    </div>
</div>

Попробую создавать див и из контейнера подгружать затем уничтожать див remove();

Это сообщение отредактировал(а) Sanchezzz - 24.9.2012, 16:44


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Sanchezzz
Дата 24.9.2012, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



"Моя выйграл" туповато но работает)
Код

$('.option .mini_i_edit').die();
$('.option .mini_i_edit').live( 'click' , function(){
    $(document.body).append( $('<div>' , {class:'dialogEditOption'}) );
    $('.dialogEditOption').dialog({ 
        autoOpen: true , 
        modal: true ,
        close:  function(){
            $('.dialogEditOption').dialog("destroy");    
            $('.dialogEditOption').remove();                            
        } 
    });
    $('.dialogEditOption').html(  $('.editOption_div').html() ).show(350);
});




--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 24.9.2012, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



А почему не завести диалог сразу со старта страницы с autoOpen:false? Тогда нужно было бы писать только  $('.dialogEditOption').open() при реакции на клик.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sanchezzz
Дата 24.9.2012, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



Я покажу вам скрин почему я не могу завести отдельно деалог при старте страницы.
user posted image






--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
ksnk
Дата 24.9.2012, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

if($('.dialogEditOption').length==0){
$(document.body).append( $('<div>' , {class:'dialogEditOption'}) );
    $('.dialogEditOption').dialog({ 
        autoOpen: false, 
        modal: true 
    });
}
$('.option .mini_i_edit').die();
$('.option .mini_i_edit').live( 'click' , function(){
    $('.dialogEditOption').open();
});

?


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Sanchezzz
Дата 24.9.2012, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 3
Всего: 60



ksnk, код вполне работает ток в UI нет метода $('.dialogEditOption').open(); Все через .dialog('open');
К сожалению, я уже ушел от этой задачи дальше и адаптировать текущий рабочий код пока не вижу смысла


 



--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0522 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.