簡體   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