Используя jquery, как вы автоматически заполняете запятые при вводе числовых форм? - PullRequest
2 голосов
/ 21 сентября 2009

Я новичок в jquery и не могу понять, как это сделать. По сути, при вводе большого числа в текстовое поле формы я бы хотел, чтобы запятые автоматически вставлялись в поле для пользователя, без необходимости вводить их самостоятельно. Может ли кто-нибудь помочь мне понять это?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 21 сентября 2009

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

2 голосов
/ 21 сентября 2009

Вы можете использовать номер плагин форматера

Вот несколько примеров со страницы плагина (ссылка приведена выше):

  // Brazilian currency format
  $(".numeric").number_format({precision: 2, decimal: ',', thousands: '.'});

  /* Results: number are formatted as they are typed
  123,45
  1.234,56*/
  // Changing precision to 5 decimal digits
  $(".numeric").number_format({precision: 5});

  /* Results: number are formatted as they are typed
  1,234.56789 
  0.12345 */
0 голосов
/ 21 сентября 2009

Используйте событие размытия, чтобы переформатировать число, когда пользователь покидает текстовое поле.

$(".selector").blur(function() {
  $(this).val() = commafyValue($(this).val());
}

Я выбрал функцию commafy из здесь , но есть из чего выбирать, или вы можете написать свою собственную ...

function commafyValue(nStr)
{
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}
0 голосов
/ 21 сентября 2009

Вверху моей головы нельзя вводить поля с масками форматирования. Если нет, и кто-то приставил мне к голове пистолет и сказал бы: сделайте это сейчас, я бы взял длину карикатуры, в которой хранятся числовые данные, и разделил бы ее на 3, тогда я знаю, сколько запятых мне нужно. Затем, используя javascript, используйте метод substring, чтобы взять каждые три справа и поставить запятую перед ним.

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