Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Событие each на динамически созданные элементы (https://javascript.ru/forum/dom-window/71996-sobytie-each-na-dinamicheski-sozdannye-ehlementy.html)

Янковиц 27.12.2017 17:43

Событие each на динамически созданные элементы
 
Есть следующий код, который обрабатывает чекбоксы:
$('.payment label input').each(function(){
		if ($(this).prop('checked')) {
			$(this).parent('label').addClass('active');
		} else {
			$(this).parent('label').removeClass('active');
		}
	});

Как производить перебор на динамически созданные элементы?

Янковиц 27.12.2017 17:44

Есть одно решение https://stackoverflow.com/questions/...ects-in-jquery с использованием setInterval, но не могу понять его суть. Да и не уверен, что это хорошее решение

рони 27.12.2017 17:47

Янковиц,
создали перебрали - всё остальное ересь

рони 27.12.2017 17:52

Янковиц,
а вам похоже и перебор не нужен, достаточно обработку клика на родителя

Янковиц 27.12.2017 17:56

Ясно. Спасибо. Дело в том, что добавление элементов происходит по нажатию кнопки, на скрипт который я не могу повлиять, так как вшит в CMS.

рони 27.12.2017 17:59

Янковиц,
.payment сюда идёт добавление?
если да можно пример .payment label input достаточно 1

рони 27.12.2017 18:06

Янковиц,
$(function() {
$('.payment').on('change', 'label input', function(){
      $(this).parent('label').toggleClass('active', $(this).prop('checked'));
  });

});


Часовой пояс GMT +3, время: 08:31.