Javascript使用在textfield中输入的公式进行数学运算

时间:2015-03-23 06:40:34

标签: javascript jquery

我有多个输入,如a1,a2,a3等。我想做的是在另一个字段中输入公式并相应地进行数学运算。

例如:(a1 + a3)* a2,并根据字段值计算总和。值和公式是动态的,所以我必须以某种方式解析公式才能执行此操作。有什么想法我该怎么办?

2 个答案:

答案 0 :(得分:2)

试试这个fiddle

JS代码:

function calc() {
    var formula = document.getElementById('formula').value;
    var a1 = document.getElementById('a1').value;
    var a2 = document.getElementById('a2').value;
    var a3 = document.getElementById('a3').value;
    formula = formula.replace('a1', a1).replace('a2', a2).replace('a3', a3);

    document.getElementById('result').innerHTML = "The result is "+eval(formula);
}

答案 1 :(得分:1)

如果表达式可以通过javascript计算,则可以使用相应输入字段值中的值替换变量名称。然后你可以在变量上使用eval javascript函数,并计算结果。例如var a = "(a1+a3)*a2"; var b = a.replace("a1", 8).replace("a2", 3).replace("a3", 6); eval(b);结果将是预期的42。