我已经尝试过这种方式,但它不起作用我不知道是什么问题
<input type="button" class="bt" value="Click me">
$('.bt').click(function(){
if(parseInt($('.qt').val()) >= 1 || parseInt($('.qt').val()) <= 99)
{
alert('Its smallert');
}
else if(parseInt($('.qt').val()) >= 100 || parseInt($('.qt').val()) <= 200)
{
alert('Its greater');
}
});
答案 0 :(得分:0)
您的代码始终进入第一个条件,从不进入else
分支,因为每个数字都是higher than 1 OR lower than 99
。
使用&&
代替||
:
if(parseInt($('.qt').val()) >= 1 && parseInt($('.qt').val()) <= 99) {
alert('Its smallert');
} else if (parseInt($('.qt').val()) >= 100 && parseInt($('.qt').val()) <= 200) {
alert('Its greater');
}
更好的代码,相同的功能。更快,更可读:
var val = parseInt($('.qt').val());
if (val >= 1 && val <= 99) {
alert('Its smallert');
} else if (val >= 100 && val <= 200) {
alert('Its greater');
}
答案 1 :(得分:0)
您需要将其更改为和(&&
):
if(parseInt($('.qt').val()) >= 1 && parseInt($('.qt').val()) <= 99)
{
alert('Its smallert');
}
else if(parseInt($('.qt').val()) >= 100 && parseInt($('.qt').val()) <= 200)
{
alert('Its greater');
}
其他方面,第二个语句永远不会被命中:100大于1所以使用或(||
)的第一个语句将为真