Проверьте, является ли входное значение тем или иным значением

0

У меня есть этот код, который не работает

if( $.trim($('#v5121').val()).length<1 ) {
    $('#v5121').addClass('error');
$('#v5121').effect("shake", { times:1 }, 20);
error++;
}
    else {
         if (isNaN( $('#v5121').val() )) {
            $('#v5121').addClass('error');
            $('#v5121').effect("shake", { times:1 }, 20);
            error++;
        } 
        else {
            if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 ) {
                $('#v5121').addClass('error');
                $('#v5121').effect("shake", { times:1 }, 20);
                error++;
            }
            else {
                $('#v5121').addClass('valid');
            }
        }
    }

Если я вхожу в 100 или 108, это все равно дает мне ошибку (я тоже пытался с parseInt).

Если вместо

if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 )

я использую

if( parseFloat($('#v5121').val()) != 100 )

и в поле ввода я добавляю 100, он дает мне действительный класс и работает. Если я ввожу что-либо, кроме 100, он дает мне ошибку, как и следовало бы. То же самое происходит, если я использую

if( parseFloat($('#v5121').val()) != 108 )

Я даю ошибку, если я ввожу ничего, кроме 108, но не тогда, когда я вхожу в 108.

Когда я пытаюсь проверить, является ли значение 100 или 108, оно дает ошибку, независимо от того, какое значение я вводил.

Теги:

1 ответ

0
Лучший ответ
if( parseFloat($('#v5121').val()) != 100 || parseFloat($('#v5121').val()) != 108 )

всегда верно. Если вход не должен быть 100 или 108, используйте AND (&&) вместо OR (||). Также рассмотрите установку значения в переменной перед проверкой.

var tempValue=parseFloat($('#v5121').val());
if(tempValue != 100 && tempValue != 108 )
  • 0
    благодарю вас. это сработало
  • 0
    Если вы не возражаете против предложения, я рекомендую вам установить var myInput=$('#v5121'); в верхней части кода, затем используйте эту переменную везде вместо этой переменной $('#v5121') . Например, myInput.addClass('error'); , Код будет работать быстрее, когда jquery не нужно будет снова и снова находить один и тот же элемент.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню