2015-03-10 5 views
0

Я попытался это так, но это не не работает я не знаю, что это вопросСравнивая две переменных, которые число

<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

проверить консоль браузера для некоторой ошибки и рассказать здесь –

+2

'it not working' не является правильной постановкой задачи – charlietfl

+0

какой тип объекта 'qt'? – Sim1

ответ

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, так что первый заявление с использованием или (||) было бы истинным

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'); 
} 
Смежные вопросы