Показать сообщение отдельно
  #10 (permalink)  
Старый 16.03.2017, 04:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от alex-tiesto
Пример скрипта можете написать?
Вы сперва разберитесь с багами существующего кода. )

То есть, если по уму, без глупостей "Название пиццы 1" и подобных, то не только серверу легче будет, но и клиенте, так как ему придется оперировать не с кучей абстрактных наборов ID и классов, а всего лишь с элементами текущей формы, коих немного и они конкретно определены. А значит "пример кода" будет базироваться совсем на ином.

Код написанный требует отладки, и если бы вы такое делали, то в коде под jQuery 1.11.0 такого бы не было, сразу после первой же отладки:

$(".radio_wrapper").live("change", function() {
        $("#value_product_2").val($(this).find("input[type=radio]:checked").attr("value"));
    });


Так как метода .live() в этой версии JQ нет. Но даже если бы и был, или же как положено для этой версии использовался метод .on(), сама по себе задача описывающее это мягко выражаясь глупа для этого HTML:

<div class="wrapper_all_radio0">
                            <div class="radio_wrapper">
                                <input id="radio0" name="wrapper_all_radio0" value="23 см" type="radio">
                                <label for="radio0"><span></span>23 см</label><span class="price_tovar_item">8.5 руб.</span>
                            </div>
                             <div style="clear: both"></div>
                            <div class="radio_wrapper">
                                <input id="radio1" name="wrapper_all_radio0" value="30 см" type="radio">
                                <label for="radio1"><span></span>30 см</label><span class="price_tovar_item">30 руб.</span>
                            </div>
                            <div style="clear: both"></div>
                            <div class="radio_wrapper">
                                <input id="radio2" name="wrapper_all_radio0" value="36 см" type="radio">
                                <label for="radio2"><span></span>36 см</label><span class="price_tovar_item">15 руб.</span>
                            </div>
                            </div>


В данном случае нужно делегировать обработку изменения состояний кнопок их общему родителю wrapper_all_radio, убрав добавление к этим именам классов числовых значений, это пустое и не нужное.

Назначать же обработчики как впрочем и описывать все остальное, нужно не кучей кусков <script></script>, а в одном скрипте, по событию $(function().

А помещать $(????).find("input[type=radio]:checked").attr("value"), только не attr, а .val(), ибо это не атрибут, а свойство, во что-то нужно в обработчике щелчка по кнопке заказать:

$(function() {
    $('a.tovar_item_link').click(function() {
        $(this).closest('tovar_desc').find('input:radio:checked').val(); //это выбранное значение в текущей группе кнопок
        $("#value_product_2"). //а это что за хрень?
    });
})
Ответить с цитированием