Как правильно настроить десятичную маску с помощью jQuery MaskedInput 1.3 - PullRequest
5 голосов
/ 21 января 2012

Я использую jQuery 1.7.1 и jQuery maskedinput 1.3 в моем приложении ASP.NET MVC 3.

Как мне настроить маскированный элемент, который принимает десятичное значение (SQL десятичное 10,2).То, что у меня работает, но выглядит ужасно:

$('#AnnualIncome').mask('9?9999999.99', { placeholder: ' ' });

Когда я перехожу на свою страницу и щелкаю по текстовому полю, тогда есть место для числовых значений с.далее для десятичной части.Это выглядит ужасно, и, кажется, не работает хорошо.Я введу 9 для левой части десятичной дроби и затем 99 для правой части десятичной дроби.Поэтому, если текстовое поле все еще имеет фокус, оно выглядит примерно так:

9___________.99

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

9.99

Кроме того, если текстовое поле теряет фокус, то теперь оно выглядит следующим образом:

999

Мне нужно, чтобы оно отображалось:

9.99

Можеткто-нибудь, пожалуйста, помогите мне настроить это правильно?

Ответы [ 2 ]

8 голосов
/ 21 января 2012

Подключаемый модуль jQuery с маской предназначен для ввода фиксированной ширины , например для форматирования телефонных номеров.Взгляните, например, на числовой плагин или autoNumeric Plugin вместо.

1 голос
/ 03 марта 2016

Подключаемый модуль jQuery с маской можно настроить на поддержку десятичных знаков переменной ширины.

Сначала добавьте определение маски, которое поддерживает ваш локальный разделитель десятичных разрядов или числовые символы:

$.mask.definitions['d'] = '[0-9.]';

Затем определите маску:

$('#AnnualIncome').mask('9?dddddddd', ' ');

Десятичные разряды являются необязательными, и вы не можете контролировать количество десятичных разрядов, но все же полезно в определенных сценариях и экономит, добавляя другой плагин.

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