Форматирование чисел (маска ввода) в jQuery - PullRequest
5 голосов
/ 29 июня 2011

Я пытаюсь отформатировать числа в текстовом поле следующим образом:

123,456,789

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

Например, если я набираю 23845 в своем текстовом поле, я хочу, чтобы он визуально конвертировался в 23,845, но при отправкеформу, которую я хочу отправить как 23845.

Кто-нибудь знает, как мне этого добиться?Все остальные решения, которые я видел, изменяют фактическое значение.

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

AFAIK, плагин масок не изменяет значение, а только отображает: http://plugins.jquery.com/plugin-tags/mask

[править] в списке всех плагинов, я использовал этот в своем коде: https://github.com/RobinHerbots/jquery.inputmask ([править 2] и работал как вы хотите я проверил код, в котором я его использовал, и поведение по умолчанию таково, что он отправляет маску со значением , вам нужно использовать опцию, чтобы снять маску, как я уже говорил в своем комментарии)

0 голосов
/ 03 ноября 2015

Пожалуйста, попробуйте следующее:

<script type="text/javascript">

        $(document).on('keyup', '.test', function() {
            var x = $(this).val();
            $(this).val(x.toString().replace(/,/g, "").replace(/\B(?=(\d{3})+(?!\d))/g, ","));
        });
    </script>

    <form>
       <input class="test" type="text" />
    </form>
...