Да, просто замени весь шаблон на этот:
|

20.08.2012, 11:49
|
|
Аспирант
|
|
Регистрация: 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>
размещенная в первой вкладке работает нормально, она же размещенная в подгружаемой страничке не работает совсем, т.е. я на второй странице вижу и ссылку и надпись "проверка", естественно при клике на ссылку ничего не происходит... Подскажите как победить проблему если кто сталкивался. Заранее спасибо.
|
|

20.08.2012, 14:31
|
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
|
Arey,
Аякс загрузку нужно делать через чистый Aякс responseText
Либо отдельно подгрузить (или сразу установить скрипты) для подгружаемой вкладки, обычный get или load скрипты отсекает
Если скрипты уже стоят на странице - то
1. Можно их переинициализировать по загрузке вкладке(скорей всего у Вас события в скрипте не live)
2. Любо прописываем через "Живые события" on или live
Последний раз редактировалось Deff, 20.08.2012 в 14:36.
|
|

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

20.08.2012, 17:31
|
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
Arey,
Если скрипты уже стоят на странице(а не подгружаются с контентом - то события им нужно прописывать либо через live, либо через on в версиях более 1.7.0
live для старых версий => http://jquery-docs.ru/Events/live/#typefn
|
|

20.08.2012, 21:17
|
|
Аспирант
|
|
Регистрация: 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>
|
|

20.08.2012, 21:20
|
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
|
Сообщение от Arey
|
|
Скрипты уже стоят на странице, ткните пожалуйста пальцем как должно быть, вот так сейчас:
|
Версия jQuery - какая ?
|
|

20.08.2012, 21:23
|
|
Аспирант
|
|
Регистрация: 14.08.2012
Сообщений: 33
|
|
|
1.8 самая свежая
|
|

20.08.2012, 22:19
|
|
без статуса
|
|
Регистрация: 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");
});
});
|
|

20.08.2012, 22:22
|
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
|
Сообщение от Arey
|
|
<a id="open_dialog_new_position" href="#">проверить</a>
|
Ксать - интересует - а иные , прошлые вкладки с таким id - остаются ?
|
|

20.08.2012, 22:50
|
|
Аспирант
|
|
Регистрация: 14.08.2012
Сообщений: 33
|
|
Сообщение от Deff
|
|
Ксать - интересует - а иные , прошлые вкладки с таким id - остаются ?
|
В смысле есть ли еще на странице элементы с таким же id? Если это имелось ввиду то нет, id не повторяются...
|
|
|
|