Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2012, 12:49
Аспирант
Отправить личное сообщение для Arey Посмотреть профиль Найти все сообщения от Arey
 
Регистрация: 14.08.2012
Сообщений: 33

Не работает модальное окно в подгружаемой вкладке.
Привет всем! Возникла сложность не знаю как решить... Есть страница в которой две вкладки реализованой через Jquery UI tabs одна из которых (вторая) подгружает во вкладку страничку через Ajax. Так вот конструкция
<a id="open_dialog_new_position" href="#"><img align="top" src="/tdt/images/document-import.png"></a>
<div id="dialog_new_position">
проверка
</div>

размещенная в первой вкладке работает нормально, она же размещенная в подгружаемой страничке не работает совсем, т.е. я на второй странице вижу и ссылку и надпись "проверка", естественно при клике на ссылку ничего не происходит... Подскажите как победить проблему если кто сталкивался. Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2012, 15:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Arey,
Аякс загрузку нужно делать через чистый Aякс responseText
Либо отдельно подгрузить (или сразу установить скрипты) для подгружаемой вкладки, обычный get или load скрипты отсекает
Если скрипты уже стоят на странице - то
1. Можно их переинициализировать по загрузке вкладке(скорей всего у Вас события в скрипте не live)
2. Любо прописываем через "Живые события" on или live

Последний раз редактировалось Deff, 20.08.2012 в 15:36.
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2012, 17:57
Аспирант
Отправить личное сообщение для Arey Посмотреть профиль Найти все сообщения от Arey
 
Регистрация: 14.08.2012
Сообщений: 33

Сообщение от Deff Посмотреть сообщение
Arey,
Аякс загрузку нужно делать через чистый Aякс responseText
Либо отдельно подгрузить (или сразу установить скрипты) для подгружаемой вкладки, обычный get или load скрипты отсекает
Если скрипты уже стоят на странице - то
1. Можно их переинициализировать по загрузке вкладке(скорей всего у Вас события в скрипте не live)
2. Любо прописываем через "Живые события" on или live
К сожалению я пока еще очень сильно плаваю в яваскрипт и надстройках... Можно немного более развернуто написать все то что Вы написали?
Если я правильно понял, то проблема в том что у меня появляются дивы которые долны быть обработаны до момента загрузки страницы и появление новых блоков которым должны быть присвоены соответсвующие параметры, в частности hide на модальное окно происходит после того, как собственно уже все присвоено, и так как нет никаких событий позволяющих это сделать заново и присвоить эти параметры то окно видно. Я правильно понял? Если да то насколько я понял после загрузки страницы на сделать что-то типа "перезапуска" куска кода? Если логика верна подскажите пожалуйста как это лучше сделать.

Последний раз редактировалось Arey, 20.08.2012 в 17:59.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2012, 18:31
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Arey,
Если скрипты уже стоят на странице(а не подгружаются с контентом - то события им нужно прописывать либо через live, либо через on в версиях более 1.7.0
live для старых версий => http://jquery-docs.ru/Events/live/#typefn
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2012, 22:17
Аспирант
Отправить личное сообщение для Arey Посмотреть профиль Найти все сообщения от Arey
 
Регистрация: 14.08.2012
Сообщений: 33

Сообщение от Deff Посмотреть сообщение
Arey,
Если скрипты уже стоят на странице(а не подгружаются с контентом - то события им нужно прописывать либо через live, либо через on в версиях более 1.7.0
live для старых версий => http://jquery-docs.ru/Events/live/#typefn
Скрипты уже стоят на странице, ткните пожалуйста пальцем как должно быть, вот так сейчас:
$(function(){
  $("#dialog_new_position").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая позиция'
  });
  $("#open_dialog_new_position").click(function(){
    $("#dialog_new_position").dialog("open");
  });
  $("#close_dialog_new_position").click(function(){
    $("#dialog_new_position").dialog("close");
  });
});

в погружаемой странице есть
<a id="open_dialog_new_position" href="#">проверить</a>
<div id="dialog_new_position">
проверка
</div>
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2012, 22:20
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Arey
Скрипты уже стоят на странице, ткните пожалуйста пальцем как должно быть, вот так сейчас:
Версия jQuery - какая ?
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2012, 22:23
Аспирант
Отправить личное сообщение для Arey Посмотреть профиль Найти все сообщения от Arey
 
Регистрация: 14.08.2012
Сообщений: 33

1.8 самая свежая
Ответить с цитированием
  #8 (permalink)  
Старый 20.08.2012, 23:19
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

$(function(){
  $("#dialog_new_position").dialog({
    autoOpen: false,
    modal: true,
    title: 'Новая позиция'
  });
  $("#open_dialog_new_position").on('click',function(){
    $("#dialog_new_position").dialog("open");
  });
  $("#close_dialog_new_position").on('click',function(){
    $("#dialog_new_position").dialog("close");
  });
});
Ответить с цитированием
  #9 (permalink)  
Старый 20.08.2012, 23:22
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Arey
<a id="open_dialog_new_position" href="#">проверить</a>
Ксать - интересует - а иные , прошлые вкладки с таким id - остаются ?
Ответить с цитированием
  #10 (permalink)  
Старый 20.08.2012, 23:50
Аспирант
Отправить личное сообщение для Arey Посмотреть профиль Найти все сообщения от Arey
 
Регистрация: 14.08.2012
Сообщений: 33

Сообщение от Deff Посмотреть сообщение
Ксать - интересует - а иные , прошлые вкладки с таким id - остаются ?
В смысле есть ли еще на странице элементы с таким же id? Если это имелось ввиду то нет, id не повторяются...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
модальное окно div'ом codingfighter Общие вопросы Javascript 28 03.09.2013 15:07
Посоветуйте как сделать модальное окно battrack jQuery 3 12.07.2012 15:42
Модальное окно Johanan Internet Explorer 9 16.05.2012 10:32
Подскажите как открыть модальное окно "fancybox" из скрипта js dgabets jQuery 1 18.02.2012 18:05
Как запустить модальное окно из информационного окна google maps? www123 jQuery 5 04.09.2011 23:38