因为财务的需求,让表单中的input元素支持运算符,例如,在输入框中输入:
1 |
=106.32+894.24-520.10 |
输入完毕后,自动计算结果,并显示在这个输入框中。
实现方法很简单,按如下操作进行即可。
获取计算式
1 |
var financial_money_received = $("#financial_money_received").val(); |
现在得到了=106.32+894.24-520.10。
去掉等号并计算
直接去掉即可。
1 |
financial_money_received = eval(financial_money_received.replace("=","")); |
financial_money_received.replace(“=”,””)是指替换到等号,eval是指运行这个表达式。
赋值并完成
1 |
$("#financial_money_received").val(financial_money_received); |
赋值回这个元素,完成。
我个人用的完整代码是这样的:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$("#financial_money_received").blur(function () { financial_money_receivable = $("#financial_money_receivable").val(); financial_money_received = $("#financial_money_received").val(); var pattern = new RegExp("="); if(pattern.exec(financial_money_received)){ financial_money_received = eval(financial_money_received.replace("=","")); console.log(financial_money_received); $("#financial_money_received").val(financial_money_received); differences(); return; } differences(); }); |
原创文章,作者:蓝洛水深,如若转载,请注明出处:https://blog.lanluo.cn/10663