diff --git a/addons/website_sale/static/src/js/website_sale.js b/addons/website_sale/static/src/js/website_sale.js index 743c7e2a24c..3ecbcde4308 100644 --- a/addons/website_sale/static/src/js/website_sale.js +++ b/addons/website_sale/static/src/js/website_sale.js @@ -123,11 +123,15 @@ $('.oe_website_sale').each(function () { ev.preventDefault(); var $link = $(ev.currentTarget); var $input = $link.parent().find("input"); + var product_id = +$input.closest('div:has(input[name="product_id"])').find('input[name="product_id"]').val(); var min = parseFloat($input.data("min") || 0); var max = parseFloat($input.data("max") || Infinity); var quantity = ($link.has(".fa-minus").length ? -1 : 1) + parseFloat($input.val(),10); - $input.val(quantity > min ? (quantity < max ? quantity : max) : min); - $('input[name="'+$input.attr("name")+'"]').val(quantity > min ? (quantity < max ? quantity : max) : min); + // if they are more of one input for this product (eg: option modal) + $('input[name="'+$input.attr("name")+'"]').add($input).filter(function () { + var $prod = $(this).closest('*:has(input[name="product_id"])'); + return !$prod.length || +$prod.find('input[name="product_id"]').val() === product_id; + }).val(quantity > min ? (quantity < max ? quantity : max) : min); $input.change(); return false; });