Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.09.2018, 11:14
Интересующийся
Отправить личное сообщение для sofuwa Посмотреть профиль Найти все сообщения от sofuwa
 
Регистрация: 29.03.2010
Сообщений: 15

Отследить ajax изменение с помощью jquery
Здравствуйте, я новичек, не знаю сюда ли вопрос. Помогите если не сложно )

<a href="/stati/." onclick="BX.ajax.insertToNode('/stati/?bxajaxid=4636b2b1712b968629eb015d0ab2bf6d', 'comp_4636b2b1712b968629eb015d0ab2bf6d'); return false;" class="catalog_section_top">Статьи</a>

Вот есть такая ссылка на странице, при нажатии ajax подгружает контент и мне нужно что бы в этом контенте выбрать чекбокс

<input type="checkbox" value="Y" name="arrFilter_309_2316230027" id="arrFilter_309_2316230027" onclick="smartFilter.click(this)">


Пытался использовать live() и что то не сработало. live вроде должен работать даже на тех элементах которых не было при загрузке странице. Или может нужно отследить onclick="BX.ajax.insertToNode и потом как то перепроверить страницу.
Ответить с цитированием
  #2 (permalink)  
Старый 14.09.2018, 11:23
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

live() давно устарело, да и флажок имеет обработчик onclick.

Что значит выбрать - добавить свой какой-то обработчик?
Ответить с цитированием
  #3 (permalink)  
Старый 14.09.2018, 11:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от sofuwa
Вот есть такая ссылка на странице, при нажатии ajax подгружает контент и мне нужно что бы в этом контенте выбрать чекбокс
Как вариант:
- запустить setInterval()
- проверять в нем, не появился ли нужный чек
- если появился, чекать его и убивать setInterval()
Ответить с цитированием
  #4 (permalink)  
Старый 14.09.2018, 11:27
Интересующийся
Отправить личное сообщение для sofuwa Посмотреть профиль Найти все сообщения от sofuwa
 
Регистрация: 29.03.2010
Сообщений: 15

Сообщение от laimas Посмотреть сообщение
live() давно устарело, да и флажок имеет обработчик onclick.

Что значит выбрать - добавить свой какой-то обработчик?
просто отметить checked="checked". Прочитал что устарело, on() вроде сейчас используют $(document).on пытаюсь сделать, пока не вышло )
Ответить с цитированием
  #5 (permalink)  
Старый 14.09.2018, 11:28
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от sofuwa
Прочитал что устарело, on() вроде сейчас $(document).on пытаюсь сделать, пока не вышло )
И не выйдет... Т.к. этот метод нужен для обработки событий, а у тебя их нет.

Т.ч. см.
https://javascript.ru/forum/ajax/752...tml#post494626
Ответить с цитированием
  #6 (permalink)  
Старый 14.09.2018, 11:29
Интересующийся
Отправить личное сообщение для sofuwa Посмотреть профиль Найти все сообщения от sofuwa
 
Регистрация: 29.03.2010
Сообщений: 15

Сообщение от ksa Посмотреть сообщение
Как вариант:
- запустить setInterval()
- проверять в нем, не появился ли нужный чек
- если появился, чекать его и убивать setInterval()
спасибо за мысль
Ответить с цитированием
  #7 (permalink)  
Старый 14.09.2018, 11:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от sofuwa
просто отметить checked="checked"
Серверные скрипты доступны? Значит просто на сервере сделать. Либо JS код в части BX.ajax дополнить. Тяжелая артиллерия, это MutationObserver.
Ответить с цитированием
  #8 (permalink)  
Старый 14.09.2018, 12:21
Интересующийся
Отправить личное сообщение для sofuwa Посмотреть профиль Найти все сообщения от sofuwa
 
Регистрация: 29.03.2010
Сообщений: 15

var proverka = setInterval(z, 100) 
function z() {
				$('#arrFilter_309_2316230027').attr('checked', true)
				if($("#arrFilter_309_2316230027").attr("checked") == 'checked') {clearInterval(proverka); }
   }

работает
Ответить с цитированием
  #9 (permalink)  
Старый 14.09.2018, 12:25
Интересующийся
Отправить личное сообщение для sofuwa Посмотреть профиль Найти все сообщения от sofuwa
 
Регистрация: 29.03.2010
Сообщений: 15

Сообщение от laimas Посмотреть сообщение
Серверные скрипты доступны? Значит просто на сервере сделать. Либо JS код в части BX.ajax дополнить. Тяжелая артиллерия, это MutationObserver.
это конечно можно, только в битрикс очень всё запутано, где там дописывать. И в принципе у меня всё сделано, нужно чисто визуально поставить галочку, поэтому и так сойдёт)) Так то конечно идеально было бы соединить мой код php и битрикса, что бы он ставил галочку в фильтре, но это сложно, может потом.
Ответить с цитированием
  #10 (permalink)  
Старый 14.09.2018, 12:39
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от sofuwa
это конечно можно, только в битрикс очень всё запутано
Он компилирован, поэтому не получится. А таймер, ну это для одного случая пойдет.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров в url средствами jquery ajax sys Общие вопросы Javascript 19 10.10.2016 19:03
Angular && jQuery Ajax borodatych Angular.js 1 19.06.2015 13:03
jQuery Validator и ajax подгрузка полей RRRinat jQuery 3 30.08.2011 01:57
Изменение позиции элементов с помощью jquery не работает в IE6-8 ditasandditas Internet Explorer 0 15.08.2011 17:53
Сложный случай jQuery + AJAX + динамическое изменение страницы Opera/IE no. Общие вопросы Javascript 2 24.02.2009 04:24