From 06a7847f73ffaa9d5e2efcb9e0ed5ef8cde3e55e Mon Sep 17 00:00:00 2001 From: Manos Psychogyiopoulos Date: Thu, 18 Jun 2020 07:42:25 +0300 Subject: [PATCH] Preserve qty input val whan changing variations --- assets/js/frontend/add-to-cart-variation.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/assets/js/frontend/add-to-cart-variation.js b/assets/js/frontend/add-to-cart-variation.js index c7c603725ee..2dd3c209945 100644 --- a/assets/js/frontend/add-to-cart-variation.js +++ b/assets/js/frontend/add-to-cart-variation.js @@ -293,7 +293,18 @@ $qty.find( 'input.qty' ).val( '1' ).attr( 'min', '1' ).attr( 'max', '' ).change(); $qty.hide(); } else { - $qty.find( 'input.qty' ).attr( 'min', variation.min_qty ).attr( 'max', variation.max_qty ).val( variation.min_qty ).change(); + + var $qty_input = $qty.find( 'input.qty' ), + qty_val = parseFloat( $qty_input.val() ); + + if ( isNaN( qty_val ) ) { + qty_val = variation.min_qty; + } else { + qty_val = qty_val > parseFloat( variation.max_qty ) ? variation.max_qty : qty_val; + qty_val = qty_val < parseFloat( variation.min_qty ) ? variation.min_qty : qty_val; + } + + $qty_input.attr( 'min', variation.min_qty ).attr( 'max', variation.max_qty ).val( qty_val ).change(); $qty.show(); }