我希望根据客户选择的数量自动更新产品价格 .
目前,当您选择magento中的自定义选项时,价格会自动更新,但在选择数量时则不会 .
因此情况将是产品价格为10英镑 . 用户输入3个数量并自动在产品页面上将价格更新为30英镑,依此类推 .
有人知道更新这个的简单方法吗?
使用jquery你可以做到这一点
$('#qty').keyup(function(){ if($(this).val() != '' && isNumber($(this).val()) && $(this).val() > 0) { var price = $('#real_price').val() * 1; var qty = $(this).val() * 1; var total = price * qty; $('#price').html(total); } else { $('#price').html('500'); } }); function isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }
FIDDLE
使用jquery ::
HTML代码::
<input type='number' id='quantity'/> <span id='total_price'></span>
Jquery代码::
var price=100; $("#quantity").on("change",function(){ quantity=$(this).val(); total_price=price*quantity; $("#total_price").html(total_price); })
在Magento 1.9.2.4中,要编辑的代码文件是 js/varien/product.js
js/varien/product.js
在Magento 1.9.3及更高版本中,要编辑的文件是 js/varien/product_options.js
js/varien/product_options.js
添加以下代码:
var qty; if($('qty').getValue().length == 0 || isNaN($('qty').getValue()) || $('qty').getValue() <= 0) { qty = 1; } else { qty = $('qty').getValue(); price *= qty; }
之后
if (price < 0) price = 0;
之前
if (price > 0 || this.displayZeroPrice) { ...
并且,在文件的末尾添加:
Event.observe(window, 'load', function() { $('qty').observe('blur', function(e){ optionsPrice.reload(); }); });
资料来源:https://magentojai.blogspot.com/2015/06/price-update-while-change-qty-in.html
3 回答
使用jquery你可以做到这一点
FIDDLE
使用jquery ::
HTML代码::
Jquery代码::
在Magento 1.9.2.4中,要编辑的代码文件是
js/varien/product.js
在Magento 1.9.3及更高版本中,要编辑的文件是
js/varien/product_options.js
添加以下代码:
之后
之前
并且,在文件的末尾添加:
资料来源:https://magentojai.blogspot.com/2015/06/price-update-while-change-qty-in.html