Layui中,让input输入框支持运算符表达式并自动计算,如“=1+1”计算并显示2

72次阅读

共计 1689 个字符,预计需要花费 5 分钟才能阅读完成。

因为财务的需求,让表单中的 input 元素支持运算符,例如,在输入框中输入:

1
=106.32+894.24520.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();
      });

 

正文完
 0