Включить / отключить кнопку отправки, если номер ввода выше, чем скрытый ввод

Я работаю над формой, позволяющей пользователям делать ставки на аукционе. Форма работает хорошо, но я хотел бы отключить кнопку отправки, если ставка выше баланса пользователя.

Пример: если баланс пользователя равен 20, пользователь не может делать ставки больше, чем его баланс.

Я попробовал этот код:

<form class="auction_form cart" method="post" enctype="multipart/form-data" data-product_id="906">


        <input type="hidden" name="bid" value="906">    

            <div class="quantity buttons_added">
                                <input type="hidden" id="balance" value="5">

                <input type="number" id="bid_value" name="bid_value" data-auction-id="906" size="7" title="bid" class="input-text qty  bid text left">

            </div>  
        <button type="submit" class="bid_button button alt">Faire une offre</button>

        <input type="hidden" name="place-bid" value="906">
        <input type="hidden" name="product_id" value="906">
                        <input type="hidden" name="user_id" value="1">

                </form>

<script>
$(document).on('input', '#bid_value', function(){
                    if ($(this).val() >= $('#balance').val() ) {
                        $('.bid_button').prop('disabled', true);
                    } else {
                        $('.bid_button').prop('disabled', false);
                    }
                });
</script>

Кажется, работает хорошо, но в этом случае кнопка остается включенной с 10...

Я не знаю, что я пропустил, вы можете мне помочь?!

Спасибо


person Nicautre    schedule 29.06.2018    source источник
comment
Вы пропустили, что значения, которые вы сравниваете, являются строками  -  person CBroe    schedule 29.06.2018


Ответы (1)


Потому что вы ожидаете 10 > 2, но на самом деле вы сравниваете "10" > "2", который возвращает false. Разберите их как целые числа, а затем сравните их.

var balance = parseInt($('#balance').val());
var bid = parseInt($(this).val());
if ( bid >= balance ) {
    //...
person Dropout    schedule 29.06.2018
comment
Он работает отлично! Спасибо за вашу помощь ! - person Nicautre; 29.06.2018