Скрипт jQuery — поле на основе ввода количества

  • Автор темы deresto
  • 37
  • Обновлено
  • 12, May 2024
  • #1
Я пытаюсь отобразить значение на основе ввода количества woocommerce и использую следующий скрипт jQuery.

 jQuery(function($){

var form = 'form.variations_form', selected = 'input[name="variation_id"]',

attrVal = 'input#attr-hidden';

var price = <?php echo $product->get_price(); ?>;

$(form).on( 'blur', 'select', function() {

if($(selected).val() != ''){

if(($(attrVal).val() == 'Black') && ($('[name=quantity]').val() >= 1 && $('[name=quantity]').val() <= 50)){

print_price = '15'

}

if(($(attrVal).val() == 'Black') && ($('[name=quantity]').val() >= 51 && $('[name=quantity]').val() <= 100)){

print_price = '10'

}

}

});

var currency = '<?php echo get_woocommerce_currency_symbol(); ?>';

$('[name=quantity]').change(function(){

if (!(this.value < 0)) {

var print_product_total = parseFloat(print_price * this.value);

$('#print_total_price .print_price').html( currency + print_product_total.toFixed(2));

}

$('#print_total_price').toggle(!(this.value <= 0));

});

});
Код (JavaScript). Этот скрипт делает следующее: если выбран атрибут продукта «Черный» и введенное количество больше 1 и меньше 50, отображается поле со значением «15», а если оно больше 51 и меньше.

чем 100, отображается «10». Проблема в том, что если я введу количество 1, а затем изменю его на 51, оно все равно будет отображать «15», если я снова не выберу атрибут «Черный».

deresto


Рег
01 Jan, 2011

Тем
1

Постов
2

Баллов
12
  • 03, Jun 2024
  • #2
Мне бы хотелось увидеть, как манипулируют разметкой, но это похоже на типичный список того, как НЕ использовать JavaScript, столь типичный для jQuery. Мне действительно интересно, почему вы ждете размытия, а не «изменений».
 

funnyiam


Рег
01 Jan, 2011

Тем
1

Постов
3

Баллов
13
Тем
49554
Комментарии
57426
Опыт
552966

Интересно