Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не получается вставить else в скрипт (https://javascript.ru/forum/misc/75295-ne-poluchaetsya-vstavit-else-v-skript.html)

Alexprom 19.09.2018 10:53

Не получается вставить else в скрипт
 
Здравствуйте!
Извините если пишу не в тот топик.
Пытаюсь вставить else в скрипт который подсчитывает цену, вернее умножает ее...
В общем вот сам скрипт wordpress
jQuery(function($){
                var price = <?php echo $product->get_price(); ?>,
                    current_cart_total = <?php echo $woocommerce->cart->cart_contents_total; ?>,
                    currency = '<span style="font-weight:normal"><?php echo get_woocommerce_currency_symbol(); ?></span>',
                    t_sep = '<?php echo wc_get_price_thousand_separator(); ?>',
                    d_sep = '<?php echo wc_get_price_decimal_separator(); ?>',
                    d_num = <?php echo wc_get_price_decimals(); ?>;

                $('[name=quantity]').change(function(){
                    if (!(this.value < 1)) {
                        var product_total = parseFloat(price * this.value),
                        cart_total = parseFloat(product_total + current_cart_total);

                        $('.cart .price .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
                    }
                    $('.price,.woocommerce-Price-amount').toggle(!(this.value <= 1));

                });
				
            });


Этот кусок кода отвечает за поиск цены
$('.cart .price .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );

Цены которые идут со скидкой, к ним добавляется класс "ins" и "del-это перечеркнутая цена"

То есть, я пытался сделать так:
$('.cart .price .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
					} else {
$('.cart .price ins .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
						}

Но не работает, кто видит ошибку, поправьте пожалуйста...

Dilettante_Pro 19.09.2018 11:05

Так?
$('[name=quantity]').change(function(){
   var product_total = parseFloat(price * this.value),
   cart_total = parseFloat(product_total + current_cart_total);
   if (!(this.value < 1)) {
      $('.cart .price .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
   } else {
      $('.cart .price ins .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
   }
   $('.price,.woocommerce-Price-amount').toggle(!(this.value <= 1));

});

Alexprom 19.09.2018 11:42

Цитата:

Сообщение от Dilettante_Pro (Сообщение 495084)
Так?
$('[name=quantity]').change(function(){
   var product_total = parseFloat(price * this.value),
   cart_total = parseFloat(product_total + current_cart_total);
   if (!(this.value < 1)) {
      $('.cart .price .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
   } else {
      $('.cart .price ins .woocommerce-Price-amount').html( product_total.toFixed(d_num).replace( '.', d_sep ).replace( /\B(?=(\d{3})+(?!\d))/g, '$&' + t_sep ) + ' ' + currency );
   }
   $('.price,.woocommerce-Price-amount').toggle(!(this.value <= 1));

});

Спасибо за ответ!
Я тоже пытался так сделать, но у меня не получилось.
Но все же я проверил - код не работает(


Часовой пояс GMT +3, время: 12:26.