我正在尝试将两个数字相减并将结果除以另一个 数字,到目前为止,我有http://jsfiddle.net/rfen3mx6/
<p id='answer'> </p>
<input type='number' max='10' min='0' name='num1' id=num1 class=sub>
<input type='number' max='5' min='0' name='num2' id=num2 class=sub>
<input type='number' max='5' min='0' name='num3' id=num3 class=add>
$("#num2").keyup(function(){
$("#answer").html('');
var n1 = $("#num1").val();
var n2 = $("#num2").val();
var n3 = $("#num3").val();
var ans = n1 - n2 / n3;
$("#answer").html(ans);
});
$("#num1").keyup(function(){
$("#answer").html('');
var n1 = $("#num1").val();
var n2 = $("#num2").val();
var n3 = $("#num3").val();
var ans = n1 - n2 / n3 ;
$("#answer").html(ans);
});
$("#num3").keyup(function(){
$("#answer").html('');
var n1 = $("#num1").val();
var n2 = $("#num2").val();
var n3 = $("#num3").val();
var ans = n1 - n2 / n3 ;
$("#answer").html(ans);
});
答案 0 :(得分:0)
在表达式中,除法和乘法将在减法之前发生。以下表达式的计算方式类似于
5-4/2 --> 5-2 --> 3
您应该在(5-4)
周围使用方括号来获得0.5
现在,您应该做的第二件事是创建一个函数,该函数需要3个数字,并返回结果以避免重复。
function func(){
var n1 = $("#num1").val()
var n2 = $("#num2").val()
var n3 = $("#num3").val();
$("#answer").html((a1-a2)/a3)
}
$("#num2,#num3,#num1").keyup(func);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<p id='answer'> </p>
<input type='number' max='10' min='0' name='num1' id=num1 class=sub>
<input type='number' max='5' min='0' name='num2' id=num2 class=sub>
<input type='number' max='5' min='0' name='num3' id=num3 class=add>
答案 1 :(得分:0)
我认为让您的代码绊倒的是num3没有默认设置,所以您经常会得到无限。
尝试类似这样的方法。我只是简单地组合了键盘,将圆括号添加到公式中,提升了变量,并对要除以的数字进行了校验和默认设置。
http://jsfiddle.net/nnoom/2w0nt7cv/18/
<p id='answer'></p>
<input type='number' max='10' min='0' name='num1' id=num1 class=sub>
<input type='number' max='5' min='0' name='num2' id=num2 class=sub>
<input type='number' max='5' min='0' name='num3' id=num3 class=add value='1'>
<script>
$("#num1, #num2, #num3").keyup(function(){
var n1, n2, n3 = 1, ans;
$("#answer").html('');
n1 = $("#num1").val();
n2 = $("#num2").val();
if ($("#num3").val()) {
n3 = $("#num3").val();
}
ans = (n1 - n2) / n3;
$("#answer").html(ans);
});
</script>