diff --git a/myproject/products/static/products/js/sales-units.js b/myproject/products/static/products/js/sales-units.js index 6a002d1..c7d1bca 100644 --- a/myproject/products/static/products/js/sales-units.js +++ b/myproject/products/static/products/js/sales-units.js @@ -181,10 +181,22 @@ return; } - // При смене единицы - обновить цену и остатки + // При смене единицы - обновить цену, остатки и quantity salesUnitSelect.addEventListener('change', function() { updatePriceOnUnitChange(salesUnitSelect, priceInput, isCustomPriceInput); displayAvailableQuantity(salesUnitSelect, availableQtyDisplay); + + // ИСПРАВЛЕНИЕ: При смене единицы сохраняем quantity или ставим минимум + if (quantityInput) { + const currentQty = parseFloat(quantityInput.value) || 0; + const selectedOption = salesUnitSelect.options[salesUnitSelect.selectedIndex]; + const minQty = selectedOption ? parseFloat(selectedOption.getAttribute('data-min-qty')) || 1 : 1; + + // Если quantity пустое/нулевое - установить минимум + if (currentQty === 0) { + quantityInput.value = minQty; + } + } }); // Отследить ручное изменение цены