请帮我调整现有脚本,用DOT替换COMMA。 我使用一个脚本将插入字符限制为文本字段。只有1,2,3,4,5,6,7,8,9,0和“。”并且“,”被接受插入。我想有两个插入DOT的按钮 - 键== 188(逗号)和键== 190(点)。
jQuery.fn.ForceNumericOnly =
function()
{
return this.each(function()
{
$(this).keydown(function(e)
{
var key = e.charCode || e.keyCode || 0;
return (
key == 8 ||
key == 9 ||
key == 46 ||
key == 110 ||
key == 188 ||
key == 190 ||
(key >= 35 && key <= 40) ||
(key >= 48 && key <= 57) ||
(key >= 96 && key <= 105));
});
});
};
$("#iMONEY").ForceNumericOnly();
可以测试HERE
答案 0 :(得分:4)
只需使用
if(e.keyCode == 188){
e.preventDefault();
$(this).val($(this).val() + '.');
}
你去了{p> Here。 :)
以供将来参考Mini-Tutorial。
答案 1 :(得分:1)
var key = e.charCode || e.keyCode || 0;
// 110 is numpad comma code
if (key === 188 && key === 110) {
e.preventDefault();
$(this).val($(this).val() + '.');
}
答案 2 :(得分:1)
在触发 按键事件后,文本框的值会更新 。它不是用点替换逗号的地方。请改用keyup事件:
jQuery.fn.ForceNumericOnly =
function()
{
this.keyup(function(e)
{
// console.log("Change");
$(this).val($(this).val().replace(/,/g,"."));
});
};
$("#iMONEY").ForceNumericOnly();
答案 3 :(得分:0)
您需要使用替换方法
var someVariable = "1,2,3,4,5,6,7,8,9,0";
$mylabel.text( someVariable.replace(',', '.') );
修改强> 如果您从TextBox进行检查,请执行以下操作:
if(Key == 188){
var someVariable = $("#TEXTBOXID").val();
somVariable = someVariable.replace(',', '.');
}