Корректная работа плюс и минус для количества товара


 Поделиться

Рекомендуемые сообщения

Доброго времени суток.
Столкнулся с необходимостью дробного заказа товара. Понемногу это дело идет но столкнулся с проблемой, что при добавлении товара плюсом или минусом периодически проскакивают ооочень длинные значения. Например было 1.1 и при нажатии вываливает 1.2000000000000002, ну и подобное.
Подскажите, что поправить в коде.

 

Скрытый текст

function get_revpopup_cart_quantity() {
    input_val = $('.product-info.product_informationss .plus-minus').val();
    quantity  = parseFloat(input_val);
    return quantity;
}
function validate_pole(val, product_id, znak, minimumvalue, maximumvalue) {
    val.value = val.value.replace(/[^\d,]/g, '');
    if (val.value == '') val.value = minimumvalue;
    maximumvalue = Number($('.product_informationss .pr_quantity').text());
    if (maximumvalue < 0.3) maximumvalue = 9999;
    input_val = $('.product-info.product_informationss .plus-minus');
    quantity = parseFloat(input_val.val());
    <?php if ($q_zavisimost) { ?>
    if(znak=='+' && input_val.val() < maximumvalue) input_val.val(quantity+0.1);
    else if(znak=='-' && input_val.val() > minimumvalue) input_val.val(quantity-0.1);
    else if(znak=='=' && input_val.val() < maximumvalue && input_val.val() < maximumvalue) input_val.val(input_val.val());
    if (quantity < 0.3 || quantity < minimumvalue) {
        input_val.val(minimumvalue);
        val.value = minimumvalue;
    } else if (quantity > maximumvalue) {
        input_val.val(maximumvalue);
        val.value = maximumvalue;
    }
    <?php } else { ?>
    if(znak=='+') input_val.val(quantity+0.1);
    else if(znak=='-' && input_val.val() > minimumvalue) input_val.val(quantity-0.1);
    else if(znak=='=' && input_val.val() > minimumvalue) input_val.val(input_val.val());
    if (quantity < 0.3 || quantity < minimumvalue) {
        input_val.val(minimumvalue);
        val.value = minimumvalue;
    }
    <?php } ?>

    update_quantity(product_id, input_val.val());
}
function update_quantity(product_id, quantity) {
    var minimumvalue = <?php echo $minimum ?>;
    if (quantity == 0 || quantity < minimumvalue) {
        quantity = $('.product-info.product_informationss .plus-minus').val(minimumvalue);
        return;
    } else if (quantity < 0.3) {
        quantity = 0.3;
        return;
    }

 


 

Скрытый текст

image.png.2b186493615dafdc043fe9f8d1103a33.png

 

Картинки, код и логи прячьте под спойлер!

Изменено пользователем WarStyle
Ссылка на комментарий
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сейчас и зарегистрироваться позже. Если у вас есть учётная запись, войдите, чтобы публиковать под своей учётной записью.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Показать вместо этого как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Нельзя вставлять изображения напрямую. Загрузите или вставьте изображения по URL.

 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу