2014-01-18 64 views
1

如何使用select的值作爲運算符進行一些計算?使用選擇值作爲運算符

<select id="operation"> 
    <option value="+">+</option> 
    <option value="-">-</option> 
    <option value="*">*</option> 
    <option value="/">/</option> 
</select> 

如何使用op來計算A和B之間的值?

var op = document.getElementById('operation').value; 

是否有另一種方法,然後使用switch()

回答

3

嘗試這樣的事情

var operators = { 
    '+': function(a, b) { return a + b }, 
    '-': function(a, b) { return a - b }, 
    '*': function(a, b) { return a * b }, 
    '/': function(a, b) { return a/b } 
}; 

var op = '+'; 
alert(operators[op](10, 20)); 
3

嘗試的eval

eval("x = A" + op + "B"); 
alert(x); 
+0

同意。如果你正確使用它,eval不是邪惡的。 –

2

您可以使用對象值映射到功能:

var operators = { 
    '+': function(x, y) { return x + y; }, 
    '-': function(x, y) { return x - y; }, 
    '*': function(x, y) { return x * y; }, 
    '/': function(x, y) { return x/y; } 
}; 

var result = operators[op](A, B);