HTML用户输入:
=110*200
jQuery的:
$(document).on("change", ".calculator", function(){
var value = $(this).val();
if(value.charAt(0) == '='){
var newval = value.slice(1);
console.log(parseInt(newval));
}
})
输出:
110
任何人都可以告诉我如何使用此程序执行数学运算?我哪里出错了为什么它不起作用?
答案 0 :(得分:1)
这种情况正在发生,因为您从不评估表达式本身。您将字符串表达式转换为整数,并从表达式中获取可识别的整数部分,将其分解为*字符。
使用eval评估你的表达式,它将被计算出来。或者,您也可以使用Function construct as described in answer here来评估此表达式。
$(document).on("change", ".calculator", function(){
var value = $(this).val();
console.log(value.charAt(0));
if(value.charAt(0) == '='){
var newval = value.slice(1);
console.log(parseInt(eval(newval)));
console.log(new Function('return ' + newval)());
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="calculator" type="text">