Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.04.2014, 01:33
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

Срабатываение функции после AJAX
На странице форма. В форме зависимые селекты.
Скриншот1>

По выбору 3 подкатегории инпут "Теги" аяксом (вместе с html ответом о получении 4 селекта) реплейшу на другие поля.
Скриншот2>

Теперь проблема. Заюзал я значит библиотеку Chosen.
Ссылка1>

Отдельно на странице она срабатывает (библиотека то бишь).
Скриншот3>

А если подкидываю аяксом, то форма с тем же самым ID не подхватывается.
Скриншот4>

Реплейс у меня
if( $('#lvl3').length)
{$('#switch_tags').replaceWith("<div id='switch_tags'><li><label for='new-post-tags'>Город</label><select name='post_tags' id='new-post-tags' class='new-post-tags'><option value='Абаза'>Абаза</option>..бла бла бла много options

А на главной странице жикваря и эта библиотека.
<script src="jquery-1.11.0.min.js"></script>
<script src="chosen.jquery.min.js"></script>
<script>$('#new-post-tags').chosen();</script>

Пробовал в разных вариациях. Даже setinterval пытался поюзать
В итоге сделал вывод, что походу я чего то не знаю об аяксе. Подскажите люди добрые, как сделать что заработало сие чудо?
Сэньк ю вери мач ин эдвансд

Последний раз редактировалось salat-production, 16.04.2014 в 01:42.
Ответить с цитированием
  #2 (permalink)  
Старый 16.04.2014, 05:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от salat-production
В итоге сделал вывод, что походу я чего то не знаю об аяксе
Аякс тут не причем.
Просто ты не вкуриваешь как работают такие штуки как chosen.
Вот ты вызвал .chosen() - скрипт подменил селект.
Потом ты опять вставил селект - тебе нужно опять вызвать chosen() чтобы опять сделать замену (сразу после replaceWith() вызывай chosen() ).
По сути, плагин chosen мог бы сам отслеживать модификацию документа (используя MutationObserver) и делать замену автоматически, но на практике это бы привело к неоправданным тормозам при любой манипуляции с DOM'ом.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 16.04.2014, 15:47
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

Нихрена не понимаю. И так и так попробовал. Нужно вызывать саму функцию или перезагружать скрипт полностью?
Ответить с цитированием
  #4 (permalink)  
Старый 16.04.2014, 16:18
Аспирант
Отправить личное сообщение для salat-production Посмотреть профиль Найти все сообщения от salat-production
 
Регистрация: 22.10.2012
Сообщений: 40

А все. Блин просто загрузил внутри реплейса, а не после и все получилось.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX в функции dmitriyk AJAX и COMET 4 16.12.2013 12:43
Книги по Ajax BaVa Учебные материалы 18 18.08.2013 14:05
Как вернуть результат из ajax внутри функции? Rooner AJAX и COMET 4 29.03.2013 19:15
Запуск функции после выполнения предыдущей blackrid jQuery 1 29.06.2011 14:23
Запуск функции после ресайзинга странички dummer232 jQuery 2 30.09.2010 16:23