HTML 用户输入:
=110*200
j查询:
$(document).on("change", ".calculator", function(){
var value = $(this).val();
if(value.charAt(0) == '='){
var newval = value.slice(1);
console.log(parseInt(newval));
}
})
输出:
110
任何人都可以告诉我如何使用该程序进行数学运算?我哪里出错了,为什么它不起作用?
发生这种情况是因为您从不计算表达式本身。将字符串表达式转换为整数,它从表达式中获取可识别的整数部分,在 * 字符处将其断开。
用 eval 评估你的表达式,它将被计算出来。或者,您也可以使用此处答案中所述的函数构造来计算此表达式。
$(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">