[英]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);
}
}
});
鍵入1
或2
不會改變任何內容。 鍵入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.