Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Не срабатывает событие onChange после подгрузки


Автор: Sinneren 28.5.2012, 14:52
Не получается заставить обрабатывать события у элемента подгруженного через $.get();
Весь код:
Код

$(document).ready(function () {
    $('#section').change(function () {
        var auto_id = $(this).val();
        if((auto_id==113) || (auto_id==114)){
            var url = 'http://oktlife.ru/auto/get_options.php';
            $.get(
                url,
                "auto_id=0",
                function (rest) {
                    $('#options').html(rest);
                 });
        }
    });
    $('#auto').change(function () {
        var autos_id = $(this).val();
        alert(autos_id);
        if (autos_id>0) {
            var url = 'http://oktlife.ru/auto/get_options.php';
            $.get(
                url,
                "auto_id=" + autos_id,
                function (rest) {
                    $('#avto').html(rest);
            });
        }
    });
});

Объясняю код: объект с id=section уже выведен. Затем в первом событии onChange выводится содержимое файла, содержащего SELECT c id auto. А второе событие по этому выведенному элементу подгружает всё остальное.
должно. но не работает и даже не удаётся получить значения при изменении, т.е. для DOMа всё, что аяксово подгружено - не существует. И вот задача как его заставить видеть подгруженный элеменет.

Автор: Amphiluke 28.5.2012, 15:16
Использовать методы http://api.jquery.com/delegate/ или http://api.jquery.com/on/.

Либо вешать обработчик события "change" на #auto только после того как тот будет вставлен в документ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)