我一直在环顾四周,似乎找不到办法做到这一点。当用户在输入字段中输入数字时,例如:
<input type="text" class="numberOnly" id="miles" value="" />
当他们输入类似的东西时,我怎样才能让它更新。例如:
输入:100000
输出:100,000
我有一些类似的代码在我计算它们时格式化其他一些东西,这是我用来格式化我的其他数字的函数。
function format_num(number) {
number += '';
x = number.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
这很好用,就像我说的那样,我不确定如何将用户输入值放入其中,并在他们输入时将输出返回到输入字段中。
注意:我需要格式化超过 1 个输入字段。
更新:
我的代码中有这个,每次按下键盘时都会触发,所以可以使用。这用于整个表单,因此每次按下按钮时表单都会更新。
$(".numberOnly").keypress(function (e) {
//if the letter is not digit then display error and don't type anything
if (e.which != 8 && e.which != 46 && e.which != 0 && (e.which < 48 || e.which > 57)) {
//display error message
$("#errmsg").html("Digits Only").show().fadeOut(1600);
return false;
} else {
$('input').keyup(function () {
});
}
});
更新 2:
是否可以为它制作一种覆盖,例如:输入的值为 1000,但覆盖显示为 1,000?
任何帮助都会很棒。非常感谢!