Работа с опциями в категориях

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем Hello, 16 мар 2023.

  1. Hello

    Hello Новичок

    Сообщения:
    7
    Симпатии:
    0
    Добрый день! Подскажите пожалуйста, где я мог ошибиться в коде
    Требуется выделить первую радиокнопку(сделано) и передать значение data-price и data-weight из input в другое место, чтобы оно автоматически показывалось в другом месте (span) на основании выделенного первого input

    Это input (ВСЁ ОК)
    Код:
    <input type="radio" name="option[{{ option.product_option_id }}]" value="{{ option_value.product_option_value_id }}" data-weight="{% if option_value.weight > 0 %}{{ option_value.weight }}{% else %}{{ option_value.name }}{% endif %}" data-price="{{ option_value.price }}" />
    Это скрипт на выделение первой радиокнопки(ВСЁ ОК)
    Код:
    $(function() {
        $('.caption').each(function() {
            $(this).find('input[type="radio"]:first').prop('checked', true).change();
        });
    })
    Это скрипт на вставку цены из input в span class="total" (НЕ ПОЛНОСТЬЮ РАБОТАЕТ)
    Код:
    $('input').change(function () {
        var $target = $(event.target)
            $target.closest(".caption").find(".total").text($target.data("price"))
    })
    В итоге судя по последнему коду, цена первой кнопки сразу не вставляется, но изменяется при переключение кнопок
     
    Последнее редактирование: 16 мар 2023
  2. Blast

    Blast Продвинутый пользователь

    Сообщения:
    212
    Симпатии:
    74
    последний скрипт скорее всего написан после скрипта выделения первой радиокнопки.
    переместите его пораньше так чтобы сначала навешивался обработчик на onchange а потом уже этот самый change триггерился
     
  3. Hello

    Hello Новичок

    Сообщения:
    7
    Симпатии:
    0
    К сожалению этот вариант не работает
     
  4. Blast

    Blast Продвинутый пользователь

    Сообщения:
    212
    Симпатии:
    74
    var $target = $(this);
     
  5. Hello

    Hello Новичок

    Сообщения:
    7
    Симпатии:
    0
    Это то, что надо! Спасибо!