diff --git a/src/main/resources/static/assets/js/project_budget_plan.js b/src/main/resources/static/assets/js/project_budget_plan.js index 7fa339a..99f05ea 100644 --- a/src/main/resources/static/assets/js/project_budget_plan.js +++ b/src/main/resources/static/assets/js/project_budget_plan.js @@ -37,6 +37,8 @@ $(function () { bindCompanyManageChangeable(); //渲染日期选择框 renderMonthDatePicker(); + //绑定数字输入框保留两位小数 + bindNumberInput(); }); /** @@ -111,7 +113,9 @@ function appendTrBudgetPlan() { //绑定资金计划明细输入框 bindChangeableInputBudgetPlanDetail(); //渲染日期选择框 - renderMonthDatePicker() + renderMonthDatePicker(); + //绑定数字输入框保留两位小数 + bindNumberInput(); } /** diff --git a/src/main/resources/static/assets/js/project_common.js b/src/main/resources/static/assets/js/project_common.js index bbe8ff2..a8572f9 100644 --- a/src/main/resources/static/assets/js/project_common.js +++ b/src/main/resources/static/assets/js/project_common.js @@ -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,