例如:计算工资组成(总薪资框readonly,随其他薪资组成框的value输入值改变而改变)
HTML代码:略过~根据自己布局情况而定!!!!
重点:给你需要监听的input框绑定onkeyup事件(onkeyup 事件会在键盘按键被松开时发生。)
在onkeyup事件中,绑定你的方法(这里是合计)
JS:监听input框的值,进行合计
重点:针对浮点数精度丢失,这里要处理一下
这样就可以进行合计填充啦~
附上代码:
//计算总工资
function Addsum(a) {
//获取输入框的值(工资组成)
var JXval = document.getElementById("setjixiaoSalaryVal").value; //获取绩效工资input框value值
var JBval = document.getElementById("setjibenSalaryVal").value; //获取基本工资input框value值
var GWval = document.getElementById("setgangweiSalaryVal").value; //获取岗位工资input框value值
var GLval = document.getElementById("setguanliSalaryVal").value; //获取管理津贴input框value值
//合计工资
var sum = MathAdd(JBval, JXval) + MathAdd(GWval, GLval); //合计工资组成的值
//只读框赋值(总工资)
document.getElementById("setzhengshiSalary").value = sum; //赋值给总工资的input框
}
//JS处理浮点数计算精度丢失
function MathAdd(a, b) {
var c, d, e;
try {
c = a.toString().split(".")[1].length;
} catch (f) {
c = 0;
}
try {
d = b.toString().split(".")[1].length;
} catch (f) {
d = 0;
}
return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e;
}