COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

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


Recommended Posts

Доброго времени суток.
Столкнулся с необходимостью дробного заказа товара. Понемногу это дело идет но столкнулся с проблемой, что при добавлении товара плюсом или минусом периодически проскакивают ооочень длинные значения. Например было 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
Ссылка на комментарий
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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

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

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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