0

jQuery を使用して次のタスクを実行できるかどうかを知りたい: ユーザーが 10 より大きい数値または 0 より小さい数値を入力できないようにする。

たとえば、9.10 のような数値は問題ありませんが、81、10.01、11、または負の数値は間違った値です。

状況をよりよく理解するために、検証はテスト後に成績を入力するためのものです。

ありがとうございました。

4

3 に答える 3

2

このコードでは、ボックスに数値を入力することのみが許可され、数値が 0 未満で 10 を超える入力は受け入れられません。

var $grade = $('#grade');

$grade.keydown( function (e) {
    var code = e.which,
        chr = String.fromCharCode(code), // key pressed converted to s string
        cur = $grade.val(),
        newVal = parseFloat(cur + chr); // what the input box will contain after this key press

    // Only allow numbers, periods, backspace, tabs and the enter key
    if (code !== 190 && code !== 8 && code !== 9 && code !== 13  && !/[0-9]/.test(chr)) {
        return false;
    }

    // If this keypress would make the number
    // out of bounds, ignore it
    if (newVal < 0 || newVal > 10) {
        return false;
    }

});

http://jsfiddle.net/WPdVq/

于 2012-04-10T21:24:08.120 に答える
1

入力フィールドを出るときに何かを表示したい場合は、changeイベントを使用できます。

$('.target').change(function() {
    if($(this).val() > 10) {
        // Do something, like warn them and/or reset to empty text.
        alert('Greater than 10.');
        $(this).val('');
    }       
});         

jsfiddleの実例

または、各キーストロークの後に何かを表示したい場合は、keyupイベントを使用できます。

于 2012-04-10T18:00:21.040 に答える
0

このライブラリをお勧めします: jquery-numeric

プラグインのホームページはこちら: http://code.webmonkey.uk.com/plugins/

デモがあり、ビューソースを使用してその使用法を確認できます。

http://code.webmonkey.uk.com/plugins/jquery.numeric/test.html

于 2013-02-04T08:17:14.350 に答える