比较两个变量是数字

时间:2015-03-10 11:12:56

标签: jquery html

我已经尝试过这种方式,但它不起作用我不知道是什么问题

<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');
  }
});      

2 个答案:

答案 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所以使用或(||)的第一个语句将为真