2017-09-04 10 views
0

ユーザが1より小さい値に変更した場合、入力値を1に変更したいと思います。値が変更されるたびに機能します。これまでのところ、無条件で値を1に変更することができます:入力値がxより小さいかどうかjQueryでxに変更する場合

jQuery(document).ready(function() { 
    jQuery('input[type=text]').val('1'); 
}); 

次に何をすればよいですか?

答えて

0

これにはchangeイベントとifステートメントを使用します。

次のコードは、として読み取ることができる例は、

jQuery('input[type=text]').on('change', function() { 
    var myInput = jQuery(this); 

    if (myInput.val() < 1) { 
     myInput.val('1'); 
    } 
}); 

「myInputの値が1未満である場合、場合myInput変化の値は、1にmyInputの値を設定」:

をあなたがのイベントリスナーを追加する必要が

jQuery('input[type=text]').on('change', function() { 
 
    var myInput = jQuery(this); 
 

 
    if (myInput.val() < 1) { 
 
     myInput.val('1'); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<input type="text">

+0

ありがとう、私はこれがどのようにできるのだろうか:var myInpu t = jQuery(this); を読んで、それは何ですか? – benua

+0

これは変数に入力をキャッシングしているだけなので、jQueryはその変数を2回見つける必要がありません。 'jQuery( 'input [type = text]')'を実行するたびに、jQueryはドキュメント全体を検索して要素を見つけなければなりません。結果を変数に格納すると、ルックアップは一度しか行われません。 – Turnip

1

あなたの入力のchangeイベントを受けてください。

jQuery('input[type=text]').on('change', function() { 
    if (jQuery(this).val() < 1) { 
     jQuery(this).val('1'); 
    } 
} 

おそらく<input type="number" min="1">を代わりに使用したいですか?

0

入力自体にはまたはkeyupが含まれています。

$(function() { 
 
    $('#myval').on('change', function() { 
 
    // allow minimum of 1 
 
    $(this).val(Math.max($(this).val(), 1)) 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="myval" value="1" />

ものの、同じ結果を達成するために、あなたの特定のケースでは、あなただけのnumberタイプの入力を持つことができ、それにmin属性を追加します。

<input type="number" id="myval" value="1" min="1" />

関連する問題