我有以下输入标签:
<input id="item_amount" type="text" id="item_stk" placeholder="1" value="" class="input-small" placeholder="" style="float: left;">
现在为了确保这个输入字段的值小于一定数量,我创建了以下 Jquery 函数:
var max_amount = $('#max_amount').val();
$( "#item_amount" ).keyup(function() {
if($(this).val() > max_amount){
$(this).val( max_amount);
}
});
现在最大值设置为2
如果我在输入字段中写入 4,它会正确地将值返回为 2。
但是,如果从写 1 然后 2 然后 3 然后 4 等开始。然后它永远不会进入 if 语句并重置值。
即。输入字段的值现在是 1234(远远超过 2)。
那我做错了什么?
最佳答案
现在,您正在比较字符串,并且比较的不是数字:"10" < "2"
您需要解析这些值:
var max_amount = parseFloat($('#max_amount').val());
if (parseFloat($(this).val()) > max_amount){
关于javascript - Jquery if语句失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19336062/