Последний Autonumeric допускает десятичную точку, даже если decimalPlaces установлен в 0 - PullRequest
0 голосов
/ 29 января 2019

У меня есть требование, чтобы разрешить целые числа для входных текстовых полей, у меня есть требование иметь символ валюты вместе с запятыми.Я использовал последнюю версию Autonumeric JS.

Я установил для свойства decimalPlaces значение 0, но, тем не менее, он позволяет мне нажимать точку один раз и при дальнейшем удалении нажатия клавиши.Я хочу, чтобы точка не была нажата в первую очередь, если для свойства decimalPlace установлено значение 0

, ниже приведен фрагмент кода вместе со ссылкой JS fiddle.Нужна любая помощь по этому вопросу

AutoNumeric.multiple('.testInput', 
{ currencySymbol: '$', decimalPlaces: 0, unformatOnSubmit: true, modifyValueOnWheel: false });

http://jsfiddle.net/wpomn0d2/

1 Ответ

0 голосов
/ 31 января 2019

Вы можете получить значение decimalPlaces с помощью функции getPredefinedOptions() и указать свойство integer.decimalPlaces:

var places = AutoNumeric.getPredefinedOptions().integer.decimalPlaces;

Затем использовать его значение для предотвращения вставки нечисловых символов в событие keydown:

$('.testInput').keydown(function (e) {
    var places = AutoNumeric.getPredefinedOptions().integer.decimalPlaces;

    if (places == 0 && (e.which < 48 || e.which > 57))
    {
        // prevent symbol insertion
        return false;
    }

    // other stuff
});

Пример JSFiddle

Ссылка: Статические методы с числовыми значениями

...