форматировать номер к цене - PullRequest
4 голосов
/ 14 ноября 2010

Я видел, как происходили некоторые из этих jquery, и просто удивлялся, был ли простой скрипт форматирования чисел.

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

Так скажем, поле

input id="price" name="price" size="50" type="text" class="medium" /

И они вводят 1234560

Iхочу показать где-нибудь еще на странице: Вы ввели: $ 1,234,560.00 в качестве цены.Это правильно?

Это только для визуальных целей.В качестве альтернативы можно изменить значение того, что они печатают, и отформатировать его «вживую», однако значение, которое мы хотим отправить в БД, - это чистые цифры, т. Е. 1234560

1 Ответ

3 голосов
/ 14 ноября 2010

Настройте функцию, подобную этой Валюта формата Javascript

function CurrencyFormatted(amount)
{
    var i = parseFloat(amount);
    if(isNaN(i)) { i = 0.00; }
    var minus = '';
    if(i < 0) { minus = '-'; }
    i = Math.abs(i);
    i = parseInt((i + .005) * 100);
    i = i / 100;
    s = new String(i);
    if(s.indexOf('.') < 0) { s += '.00'; }
    if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
    s = minus + s;
    return s;
}

Затем установите обмен для jQuery примерно так

jQuery(document).ready(function(){

  jQuery('#price').change(function(){

      jQuery('#mydivsomewhere').val(CurrencyChange(jQuery('#price').val));
  });

});

Не уверен, что это на 100% правильно, не проверял. Но следует вызывать CurrencyFormat всякий раз, когда изменяется текст в вашем поле ввода. Должен передать значение в текстовое поле с идентификатором цены и установить div id mydivsomewhere с отформатированным значением.

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