0

私のローカライズされた Rails アプリでは、デフォルトの小数点記号はドット (.) ではなくコンマ (,) です。

例のために。1.000.000,56

ユーザーが数値を入力するときは、速度の理由からキーボードの数値パッドを使用することを好みます。ただし、数値パッドには COMMA ではなく DOT が使用されているため、プロセス全体が妨げられます。

だから私の質問は:

ユーザーが数字キーパッドのドットを押したときに、テキスト入力内にプログラムでコンマを入力する方法はありますか?

前もって感謝します

4

3 に答える 3

1

jQuerye.whichメソッドを使用して正しいキーコードを取得し、混乱を避けるために、キー押下イベントを認識するためのさまざまな方法を使用することをお勧めします。

var charCode = (typeof e.which == "number") ? e.which : e.keyCode

入力時にドットをコマに変換するコードは次のとおりです。

$('input').keypress(function(e){    
    if (e.which == '13') {                
        $('input').val(function(index, value) {
           return value.replace('.', ',');
        });           
    }
});
于 2013-09-13T07:49:59.273 に答える
1

上記の回答と同様ですが、keydown を使用すると Default を防止できます。これにより、最初から値の入力が停止されます。次に、コンマを追加する方法はあなた次第です:

$('input').on('keydown', function(e){
    if(e.which === 110){ //check for numpad '.'
        e.preventDefault(); //stop the event entering text

        var $inputValue = $(this).val();

        $(this).val($inputValue + ','); //add your append logic to add comma
    }
});   
于 2013-09-13T08:55:13.013 に答える
1

この値が入力されたコントロールで、このようなことを行うことができます

$('#searchbox input').bind('keypress', function(e) {
    if(e.keyCode==13){//here in your case it would be keycode of '.'
        // Enter pressed... do anything here...
    }
});

このリンクを使用して、必要なキーコードを見つけることができますhttp://www.theasciicode.com.ar/ascii-printable-characters/dot-full-stop-ascii-code-46.html

于 2013-09-13T07:28:15.220 に答える