在我的本地化 Rails 应用程序中,默认小数点是逗号 (,) 而不是点 (.)
例如。1.000.000,56
当我的用户输入数值时,出于速度原因,他们更喜欢使用键盘的数字键盘。然而,数字键盘的特点是点而不是逗号,因此整个过程受到阻碍。
所以我的问题是:
当用户点击数字键盘中的点时,有没有办法以编程方式在文本输入中输入逗号?
提前致谢
在我的本地化 Rails 应用程序中,默认小数点是逗号 (,) 而不是点 (.)
例如。1.000.000,56
当我的用户输入数值时,出于速度原因,他们更喜欢使用键盘的数字键盘。然而,数字键盘的特点是点而不是逗号,因此整个过程受到阻碍。
所以我的问题是:
当用户点击数字键盘中的点时,有没有办法以编程方式在文本输入中输入逗号?
提前致谢
您可以在输入此值的控件上执行类似的操作
$('#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
我建议使用 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('.', ',');
});
}
});
与上面的答案类似,但使用 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
}
});