- 12, May 2024
- #1
Я пытаюсь отобразить значение на основе ввода количества woocommerce и использую следующий скрипт jQuery.
чем 100, отображается «10». Проблема в том, что если я введу количество 1, а затем изменю его на 51, оно все равно будет отображать «15», если я снова не выберу атрибут «Черный».
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», если я снова не выберу атрибут «Черный».