1

私はjQueryマスク入力プラグインを使用しています。

以下のすべてが有効な入力になるように、パーセンテージの10進数のマスクを定義する必要があります-

  • 1
  • 10
  • 1.1
  • 1.10
  • 10.1
  • 10.10
  • 99.99
  • 100

パーセンテージは100を超えることはできないため、100.00は有効ですが、100.01は無効です。

$("#" + enum.WomenInSororitiesId).mask("9?9.99"); //valid till 99.99

上記のコードでは、少なくとも1つの数値を取得していますが、10進数の1〜9の場合、ユーザーはそれを01.00または02.00として入力する必要があります。

上記の場合に機能するように、このマスクを再加工するにはどうすればよいですか?

ありがとう。

4

3 に答える 3

1

このためにマスクされた入力プラグインを使用することはできません。

検証関数を使用して、この質問に対するいくつかの回答で説明されているように、小数点以下の桁数のパーセンテージフィールドを検証できます。

floatを含むテキストフィールドの検証は有効なパーセンテージ値ですか?

于 2012-12-17T21:52:05.167 に答える
0

それはあまり答えではありませんが、あなたができるようには見えません。慰めの賞品として、値が数値で100未満であることを確認するための小さなコードを次に示します。

$("#" + enum.WomenInSororitiesId).change(function () {
    val = $(this).val();
    if(!$.isNumeric(val) || val-0 > 100) {
        alert("Something went horribly, horribly wrong.");
    }
});
于 2012-12-17T20:59:25.347 に答える
0

これは、文字を小数点または数値にすることができるカスタムマスキング定義を宣言することで実行できます。例えば:

$.mask.definitions['~']='[0-9|.]';
$("input.abcd").mask("9?~9");  

これは次のように述べています。

  • 最初の文字は数字でなければなりません
  • 後続の文字はオプションです
  • 2番目の文字は[0-9]または。
  • 3番目の文字は[0-9]にすることができますが、。にすることはできません。(これにより、「5.2」のような奇妙な入力が防止されます。)

この方法の1つの欠点は、次のマスクを使用する場合です。

$.mask.definitions['~']='[0-9|.]';
$("input.abcd").mask("9?~~~9");  

その場合、「5...2」のような入力が有効になります。

于 2013-04-22T20:20:35.140 に答える