lamo4ok
@lamo4ok
Программист

Каким JQuery плагином можно красиво реализовать маску ввода валют?

Есть задача при вводе цены в некий input на лету форматировать вводимое значение в удобно читаемый вид. То есть тысячи должны быть разделены неким сепаратором, не должно давать вводить лишние символы, должен быть только определенный разделитель десятичных, указание валюты.
Сначала попробовал решить это стандартным для масок maskedinput.js:
$j.mask.definitions['f']='[1234567890.]';
$j('#savings_calculator input').mask('$fff?ffffffffff', {placeholder: " " });

но в итоге выяснилось, что с его помощью не получается разделять тысячи каким-нибудь разделителем, да и этот скрипт вынуждает указывать минимально и максимально допустимое количество введенных символов, при том нельзя указать, сколько знаков может быть до и после запятой, только общее количество.
Попробовал найти другие библиотеки, нашлась accounting.js, но она умеет не в маски, а в просто форматирование числа в валютное представление (хотя это полезно на выводе результата куда-либо в виде цены), и еще нашлась jquerypriceformat.js - делает ровно то, что необходимо, за одним исключением - ввод числа становится пыткой, можете попробовать в демо самостоятельно - например, при попытке стереть уже введенную цифру в середине числа курсор после соскакивает в конец введенной строки, в общем пользователю такое давать нельзя.

Так вот вопрос - есть ли некое готовое решение, позволяющее то, что делает последний показанный мной скрипт, но при этом без глюков при вводе, как это делает maskedinput?
  • Вопрос задан
  • 1070 просмотров
Пригласить эксперта
Ответы на вопрос 1
@evil_eyes
Сейчас сам ищу "идеальное" решение input mask. Пока остановился на этом - https://github.com/RobinHerbots/Inputmask
Но там тоже не всё так гладко, скрипт не работает на android, плюс слишком много настроек, в которых можно запутаться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы