繁体   English   中英

jQuery / JavaScript-纠正输入的最小值和最大值int无法正常工作

[英]jQuery / javascript - correcting input min and max int not working correctly

我得到了这个HTML:

<input type="number" name="eingangstuer_hoehe" min="70" max="200">

这是jQuery / javascript:

$("input").change(function(e) {
        var $this = $(this);
        var val = $this.val();
        var max = $this.attr("max");
        var min = $this.attr("min");


        if(val > min || val < max)
        {

        }
        else
        {
            if (val > max){
                e.preventDefault();
                $this.val(max);
            }

            if (val < min)
            {
                e.preventDefault();
                $this.val(min);
            }
        }
});

键入12不会改变任何内容。 键入3 - 69将工作,它应该如何。 键入高于199所有内容(也可以输入200 )会将值更改为70 ..

它也不会更改600以上的值

您应该使用下面的代码片段中所示的条件。

另外,您正在编译字符串而不是数字。 尝试使用parseInt将值解析为整数

您的代码应如下所示:

    $("input").change(function(e) {
        var $this = $(this);
        var val = parseInt($this.val());
        var max = parseInt($this.attr("max"));
        var min = parseInt($this.attr("min"));

        if(val < min || val > max){
            e.preventDefault();
            $this.val(max);
        }
    }

});

发现错误的条件。 if(val > min || val < max)更改为if(val >= min && val <= max)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM