javascript - Jquery if语句失败

标签 javascript jquery if-statement

我有以下输入标签:

<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/

相关文章:

javascript - Jquery 表单重置

jQuery UI 可排序和 Cookie

variables - powershell测试尚未分配的变量

ios - 如何检测数字是递减还是递增? iOS

mysql - IF 内的子查询作为具有空值的列的值

javascript - 如何使用 ExtJS 4.2.1 下载 pdf 文件?

javascript - JS函数odblclick事件

javascript - 给定一串 html 代码,我如何遍历每个标记并删除不在我的白名单中的标记(在 JQuery 中)?

javascript - 如何区分移动版 Google Maps JS API v3 中的点击和拖动?

JavaScript Array.sort 不适用于某些数字数组