@VitaliySm

Не определяет событие при выборе селектора, как правильно отловить это событие?

$('#id-category').bind('change', function() {
    selected = $('#id_1-category option:selected').val();
    if (selected != ''){
        $.get('/get/?category=' + selected, function(data) {
        $('#make_container').html(data);
        });
    }
});

$('#make_container').bind('change', function() {
    console.log('----')
    }
});


Есть первый селектор когда, мы вибираем там категорию, формируется селектор для второго инпута, пролема в том, что почему-то не отлавливает изменение этого новосозданного селектора
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
e_svirsky
@e_svirsky
Web Developer
Проблема очевидна. Вы используете неверную конструкцию чтобы отловить событие динамически созданного элемента. Вот тут можно почитать:
api.jquery.com/on
Вам нужно использовать Delegated events.
Нужно использовать вот так:
$( "body" ).on( "change", "#make_container", function() {
   console.log('----')
});

Scope "body" - можно уменьшить до отслеживаемого контейнера...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
master2016
@master2016
Всё нормально.
убедитесь что у вас работает бинд. Если нет, лучше заменить его на конструкцию .on()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы