@Her1z

Как сделать так ,чтобы итоговое значение total при нажатии на плюс работало (WooCommerce)?

Задача была такая: Человек во время изменения количества товара сразу получал итоговую сумму.

Нашел такой код:
add_action( 'woocommerce_single_product_summary', 'woocommerce_total_product_price', 31 );
function woocommerce_total_product_price() {
    global $woocommerce, $product;
    // let's setup our divs
    echo sprintf('<div id="product_total_price" style="margin-bottom:20px;">%s %s</div>',__('Product Total:','woocommerce'),'<span class="price">'.$product->get_price().'</span>');
    ?>
        <script>
            jQuery(function($){
                var price = <?php echo $product->get_price(); ?>,
                    currency = '<?php echo get_woocommerce_currency_symbol(); ?>';

                $('[name=quantity]').change(function(){
                    if (!(this.value < 1)) {

                        var product_total = parseFloat(price * this.value);

                        $('#product_total_price .price').html( currency + product_total.toFixed(2));

                    }
                });
            });
        </script>
    <?php
}


Проблема в том, что считает он только тогда, когда нажимаю на стрелочки
62825e4099312578100278.png

То все работает отлично, но если на плюс или минус, то число количество меняется, а сумма нет. Нужно чтобы реагировала на плюс и минус. Я слаб в js и php. Подскажите, как решить проблему?
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Значение input'а, изменённое через JS не приводит к срабатыванию события change.
Выход - вызывать функцию изменения total самостоятельно из обработчиков кнопок +/- или там же генерировать событие change на input'е.
Ответ написан
Ваш ответ на вопрос

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

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