共计 1689 个字符,预计需要花费 5 分钟才能阅读完成。
因为财务的需求,让表单中的 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();
});
|
正文完