这是我的代码,其中我有两个输入,最小值为-2,最大值为10,总数为div。当输入的值为-2时,它必须视为零,总数必须为零。在其余情况下,它是两个数字的总和。当我输入-2时,第一个输入显示总数为零。但是当我在下一个输入中输入-2时,总和显示-2而不是零。请检查一下。
var webs = ["website1.com", "website2.com", "website3.com"];
var url = "website2.com";
for (i = 0; i < webs.length; i++) {
if (url == webs[i]) {
// navigate
}
}
答案 0 :(得分:1)
只需删除你的else语句然后就可以按照自己的意愿删除。
变化:
else if (b == -2) {
b = 0;
}
要:
if (b == -2) {
b = 0;
}
问题是,如果a == -2
,你从未点击过else语句<强>演示强>
$(document).ready(function() {
$('#a,#b').keyup(function() {
var a = $('#a').val();
var b = $('#b').val();
if (a == -2) {
a = 0;
}
if (b == -2) {
b = 0;
} else {}
var tot = (+a) + (+b);
$('#tot').html(tot);
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="number" name="a" id="a" min="-2" max="10" />
<input type="number" name="b" id="b" min="-2" max="10" />
<div id="tot"></div>
&#13;
答案 1 :(得分:1)
您的代码中存在一个小错误:else if(b==-2)
应该只是if(b==-2)
。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script>
<script>
$(document).ready(function(){
$('#a,#b').keyup(function(){
var a=$('#a').val();
var b=$('#b').val();
if(a==-2)
{
a=0;
}
if(b==-2)
{
b=0;
}
var tot=(+a)+(+b);
$('#tot').html(tot);
});
});
</script>
</head>
<body>
<input type="number" name="a" id="a" min="-2" max="10" />
<input type="number" name="b" id="b" min="-2" max="10" />
<div id="tot"></div>
</body>
</html>
&#13;