Ниже мое текстовое поле:Как запретить пользователю вводить более двух цифр после десятичного числа?
<input type="number" id="payement-textbox'+index+'" name="payment-textbox" min="0" max="100000" step="any" maxlength="9" class="payment" placeholder="--" value=""/>;
Есть две проверки на моем типа номер текстового поля. Во-первых, пользователь не может ввести значение, превышающее 99999,99, которое я применил успешно. Другим является то, что пользователь не может ввести более двух цифр после десятичной дроби, которая не работает.
Вот мой JQuery код:
$('input.payment').on("change paste keyup", function(event) {
var max = parseFloat($(this).attr('max'));
var num = parseFloat($(this).val());
if (num >= max)
{
$(this).val("99999.99");
}
if(($(this).val().indexOf('.') != -1) && ($(this).val().substring($(this).val().indexOf('.')).length > 2))
{
event.preventDefault();
}
});
Не могли бы вы сказать мне, где я неправильно?
См эту ссылку, надеюсь, это поможет вам http://stackoverflow.com/questions/21796827/jquery-allow-only-two-numbers-after-decimal- point –
http://jsfiddle.net/S9G8C/203/ –
Поскольку он запускается ** после ** вход уже был введен, вы захотите использовать 'keydown'. Просто отметьте, что вам нужен способ для удаления 2-го десятичного числа (* ex: проверка третьего десятичного знака и удаление последней цифры *). –