我正在处理一个允许用户竞标的表格。表单运行良好,但如果出价高于用户余额,我想禁用“提交”按钮。
示例:如果用户余额为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开始保持启用状态。
我不知道我错过了什么,你能帮我吗?!
谢谢
答案 0 :(得分:1)
因为您期望使用10 > 2
,但实际上您正在比较返回false的"10" > "2"
。将它们解析为整数,然后进行比较。
var balance = parseInt($('#balance').val());
var bid = parseInt($(this).val());
if ( bid >= balance ) {
//...