Не срабатывает on("click", function) для динамического элемента

d0ublezer0

Мой дом здесь!
Регистрация
21 Май 2009
Сообщения
367
Реакции
201
В корзине динамически формируется выбор вариантов доставки, из которого должен выбираться пункт выдачи. но событие клика на варианте доставки не срабатывает

для проверки работы нужно что-то положить в корзину, например Для просмотра ссылки Войди или Зарегистрируйся

собственно, корзина: Для просмотра ссылки Войди или Зарегистрируйся

После клика на первом варианте (пункт выдачи СДЕК), должен раскрыться список пунктов выдачи (город у каждого будет свой, определяется автоматически по России:(

1dae1f914b484961b1e5e21b8f35952f.png


За раскрытие списка и обработку дальнейшего выбора пункта выдачи отвечает файл Для просмотра ссылки Войди или Зарегистрируйся

Выглядит он так:

Код:
jQuery(document).ready(function ($) {
    $('.cdek_shipment').on("click", function () {
        var $ship_id = $(this).attr("data-id");
        var $ship_pvz = $(this).attr("data-pvz");
        var $ship_map = $(this).attr("data-map");
        console.log('Выбран вариант доставки');
        $(this).first(".cdek_outpost_list").slideToggle();
    });

    var $notator = $("#customer_note_field");
    var $pvz_map = $("#map");
    $(".cdek_outpost_list input").on("change", function () {
        var $pvz = $(this);
        console.log('PVZ выбран');
        $notator.empty().append("Заберу по адресу:" + $pvz.attr("data-address"));
        if ($pvz_map.length > 0) { // карта существует, предполагаем что можем выводить в нее
            console.log("map exists");
        }
    });
});

.cdek_shipment создаётся другим скриптом уже после загрузки страницы, я на это повлиять не могу.

Более того, каждый раз при смене города, блок с вариантами доставки создаётся заново.

Где я ошибся? Помогите разобраться, пожалуйста.


UPD
Нашел как перенавесить событие. теперь другой вопрос
Код:
    $("#ajaxshipping").on("click", '.cdek_shipment', function () {
// как тут получить объект .cdek_shipment для манипуляций?
)};
 
Последнее редактирование:
Назад
Сверху