0

在我的本地化 Rails 应用程序中,默认小数点是逗号 (,) 而不是点 (.)

例如。1.000.000,56

当我的用户输入数值时,出于速度原因,他们更喜欢使用键盘的数字键盘。然而,数字键盘的特点是点而不是逗号,因此整个过程受到阻碍。

所以我的问题是:

当用户点击数字键盘中的点时,有没有办法以编程方式在文本输入中输入逗号?

提前致谢

4

3 回答 3

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 回答
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 您可以防止默认值,这将首先阻止它输入值。然后由您决定如何附加逗号:

$('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 回答