2017-04-09 15 views
1

を働いていないint型私は、このHTMLました:jQueryの/ JavaScriptの入力分を補正し、最大正しく

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

をそして、これはjQueryの/ JavaScriptのである:

12変更されませんを入力
$("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); 
      } 
     } 
}); 

何でも3 - 69と入力すると、どのように動作するでしょうか。 (はいも200199の上にすべてを入力すると、それはまた見つけ600

答えて

2

以下のコードスニペットに示すような条件を使用する必要があります。

また、数字ではなく文字列を圧縮しています。

あなたのコードは次のようになりますの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); 
     } 
    } 

});

0

間違った条件上記の値を変更しません。.. 70

を値を変更します。変更if(val > min || val < max)if(val >= min && val <= max)

関連する問題