我正在尝试显示基于woocommerce数量输入的值,并且我正在使用以下jQuery脚本。
<script>
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));
});
});
此脚本的作用是,如果产品的选定属性为“黑色”,并且输入的数量大于1且小于50,则显示的字段值为“ 15”,并且如果大于等于51,则该字段大于51它显示“ 10”。
问题是,如果我输入数量1,然后将其更改为51,除非我再次选择属性“黑色”,否则它仍显示“ 15”。