Ошибка с валидатором jquery для сравнения 2 полей? - PullRequest
0 голосов
/ 30 января 2012

Я встречаю странную вещь ...

У меня есть форма, проверенная с помощью валидатора jquery.

Мне нужно сравнить два поля (только цифры), одно должнобыть больше, чем другой.

вот что я делаю:

$.validator.addMethod("oneGreaterThanTwo", function(value, element) {
        return $('#one').val() >= $('#two').val();
    }, "One has to be greater than two");  

Работает нормально, пока я не использую числа больше 10 ... Например, если я поставлю 9 и 4, нетпроблема, если я поставлю 4 и 9, у меня отображается сообщение об ошибке «Один должен быть больше двух».Но если я поставлю 11 и 4, у меня будет отображаться сообщение об ошибке, пока я не введу число меньше 10 ....

У кого-нибудь есть идея?

1 Ответ

1 голос
/ 30 января 2012

Метод .val() возвращает строку, поэтому, даже если они будут представлять числа, они будут сравниваться в алфавитном, а не числовом формате. Используйте метод Javascript parseInt(), чтобы преобразовать их в числа, а затем сравните их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...