数字输入框只保留2位小数

master
xxssyyyyssxx 2021-11-18 10:36:12 +08:00
parent 24c19f6713
commit dbc7e0fe7c
2 changed files with 41 additions and 1 deletions

View File

@ -37,6 +37,8 @@ $(function () {
bindCompanyManageChangeable();
//渲染日期选择框
renderMonthDatePicker();
//绑定数字输入框保留两位小数
bindNumberInput();
});
/**
@ -111,7 +113,9 @@ function appendTrBudgetPlan() {
//绑定资金计划明细输入框
bindChangeableInputBudgetPlanDetail();
//渲染日期选择框
renderMonthDatePicker()
renderMonthDatePicker();
//绑定数字输入框保留两位小数
bindNumberInput();
}
/**

View File

@ -30,6 +30,42 @@ function rate(r1,r2) {
return f2(r1*100/r2);
}
/**
* 保留两位小数
*/
function bindNumberInput() {
//所有的数字输入框
var $inputs = $("input[type='number']");
//键盘键弹起的时候
$inputs.keyup(function () {
var value = $(this).val();
value = value.replace(/[^\d.]/g, ""); //清除“数字”和“.”以外的字符
value = value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的
value = value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
value = value.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3'); //只能输入两个小数
if (value.indexOf(".") < 0 && value != "") {
//以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
value = parseFloat(value);
}
$(this).val(value);
});
//失去焦点时再校验一遍
$inputs.blur(function() {
var value = $(this).val();
var reg = new RegExp("^[0-9]+(.[0-9]{2})?$");
if (reg.test(value)) {
$(this).val(Number(value).toFixed(2));
} else {
$(this).val("");
}
});
}
function postAjax(url, data, callback) {
$.ajax({
url: url,