在JavaScript中选择计算方法

时间:2014-04-19 18:47:57

标签: javascript html forms logic

我一直在用JavaScript编写一个非常简单的计算器。基本上,你输入两个值,选择你的计算方法,然后点击go,它会输出一个值。这是一个JSfiddle,我展示了这个概念:

http://jsfiddle.net/JHeqN/

奇怪的是,在我的浏览器中它确实运行计算,但只有添加,无论我选择什么。在JSfiddle中,它甚至没有运行计算。我认为问题可能出在我的If,ElseIf声明中,但我不知道在哪里或为什么。我现在所拥有的是:

function calculateTotal() {
var value1 = document.getElementsByName('value1')[0].value;
var value2 = document.getElementsByName('value2')[0].value;
var calcMethod = document.getElementsByName('calculationType')[0].value;
var out;

if (calcMethod = 'add')
    {
    out = parseFloat(value1) + parseFloat(value2);
    }
else if (calcMethod = 'subtract')
    {
    out = parsefloat(value1) - parsefloat(value2);
    }
else if (calcMethod = 'multiply')
    {
    out = parsefloat(value1) * parsefloat(value2);
    }
else if (calcMethod = 'divide')
    {
    out = parsefloat(value1) / parsefloat(value2);
    }

document.getElementsByName('total')[0].value= out;

}

这样做需要我的HTML中选择值指定的名称,这里:

<select name="calculationType">
    <option value="add">+</option>
    <option value="subtract">-</option>
    <option value="multiply">*</option>
    <option value="divide">/</option>
</select><br>

并将值赋给变量calcMethod。然后检查选择了哪些值,以确定要计算的数学类型。我已使用Chrome中的控制台对此进行了检查,并且值已正确分配。当我选择除法时,calcMethod确实等于划分&#39;在运行时,但它仍然添加,或在JSfiddle的情况下什么都不做。

1 个答案:

答案 0 :(得分:4)

使用===而非=

===是比较,=是作业。

忘记==存在。