Включить / отключить кнопку отправки, если номер входа больше скрытого
Я работаю над формой, позволяющей пользователям делать ставки на аукционе. Форма работает хорошо, но я хотел бы отключить кнопку отправки, если ставка превышает баланс пользователя.
Например: если баланс пользователя равен 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...
Я не знаю, что я пропустил, вы можете мне помочь?!
Спасибо
1 ответ
Потому что вы ожидаете 10 > 2
но на самом деле вы сравниваете "10" > "2"
который возвращает ложь. Разобрать их как целые числа, а затем сравнить их.
var balance = parseInt($('#balance').val());
var bid = parseInt($(this).val());
if ( bid >= balance ) {
//...