Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   change событие после появления (https://javascript.ru/forum/dom-window/69963-change-sobytie-posle-poyavleniya.html)

PHP Useless 31.07.2017 10:54

change событие после появления
 
Здравствуйте. Есть селект и change функция. При изменении все работает, а вот у меня динамический селект. При выборк первого открывается второй селект. И когда появляется второй селект change не работает. А когда-то это вставляешь впрямую в код, то работает. Думаю проблема в подгрузке. Вставил код после элемента не помогло, использовал .on, не помогло. :help: пожалуйста.

laimas 31.07.2017 11:09

Цитата:

Сообщение от PHP Useless
использовал .on, не помогло.

Метод .on() имеет два варианта установки обработчика - непосредственно на элемент и делегирование обработки. Вам нужен второй вариант, а у вас значит первый.

PHP Useless 31.07.2017 11:14

прочитал документации, не понял

laimas 31.07.2017 11:25

$(селектор ближайшего общего родителя для списков в который они вставляются).on('change', 'select', function() {
    //единый код для обработки всех списков, так как это одна задача
    //какой при этом запрашивается сервер может определять по имени списка
})


Если туго с пониманием того, что для всех списков достаточно одного обработчика, значит устанавливать обработчик добавляемым спискам нужно в Ajax после получения ответа сервера и помещения списка в документ.

рони 31.07.2017 11:26

PHP Useless,
change ставят на селект после его создания, либо на форму в которую потом добавят селект.

PHP Useless 31.07.2017 11:33

знаю, написал иф если есть, не помогло

рони 31.07.2017 11:38

Цитата:

Сообщение от PHP Useless
написал иф

бред какой-то, смотрите пост №4


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