我为自己输入了现场价格检查号码,点数,如果逗号则将其替换为点。
使用更改功能我将逗号更改为点并使用.toFixed(n)
我正在尝试创建一个函数,然后我可以从不同的输入调用它。创建20个输入20个更改函数并不是一个好主意。
HTML:
<input id="txtId" type="text" onkeyup="NumAndTwoDecimals(event , this);"></input>
<br>
<input id="txtId2" type="text" onkeyup="NumAndTwoDecimals(event , this);"></input>
JS
$('#txtId').change(function( event ) {
var newVal = String($(this).val()).replace(/\,/g,'.');
var regexp = /^([0-9]+[\.]?[0-9]?[0-9]?|[0-9]+)$/g;
if (regexp.test(newVal)) {
$(this).val(Number(newVal).toFixed(2));
}else{
// error
$(this).val('');
}
});
window.NumAndTwoDecimals = function(e , field) {
var val = field.value;
var re = /^([0-9]+[\,||\.]?[0-9]?[0-9]?|[0-9]+)$/g;
var re1 = /^([0-9]+[\,||\.]?[0-9]?[0-9]?|[0-9]+)/g;
if (re.test(val)) {
//do something here
} else {
val = re1.exec(val);
if (val) {
field.value = val[0];
} else {
field.value = "";
}
}
}
演示:
答案 0 :(得分:2)
你可以给他们一个共同的类,并将事件绑定到该类。
或者您可以像这样使用选择器属性启动
$('[id^=txtId]').change(function( event ) {
这会将更改事件绑定到ID以txtId