2014-01-15 3 views
0

У меня есть страница, работающая очень хорошо (я вырезал некоторые другие поля и стиль, чтобы сохранить образец, который я размещаю здесь небольшим). Мне нужна строка Premium в таблице (строка 17) для форматирования в виде валюты (USD). Каков наилучший способ сделать это?Формат нокаута/JQuery валюты

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server"> 
    <div class="datagrid" > 
     <table > 
      <thead> 
       <tr> 
        <th>Location Name</th> 
        <th>Location Total</th> 
       </tr> 
      </thead> 
      <tbody data-bind="foreach: { data: Locations, as: 'location' }"> 
       <tr> 
        <td><span data-bind="text: location.LocationName" /> </td> 
        <td><span data-bind="text: location.Premium" /> </td> 
       </tr> 
      </tbody> 
     </table> 
    </div> 

    <script> 
     $(document).ready(function() 
     { 
      var appViewModel 

      // AppViewModel 
      function AppViewModel() 
      { 
       this.Locations = ko.observable([]); 
      } 
      var appViewModel = new AppViewModel(); 

      ko.applyBindings(appViewModel); 

      $.getJSON("http://waltweb01:85/LTCEPLWS/LTCJSON.svc/getLTCWithIDs/4", function (data) 
      { 
       incomingData = data; 
       appViewModel.Locations(data.getLTCWithIDsResult.Locations); 
      }); 
     }); 
    </script> 
</asp:Content> 
+0

дублирует http://stackoverflow.com/questions/5807155/jquery-currency- format-number – Charles380

+0

Не дубликат. И, откровенно говоря, я не могу понять, как ответ на 13 голосов в связанном предполагаемом обмане распространяется на исходный вопрос этой страницы. –

+0

В любом случае ... Я использовал «

ответ

0

Нокаут имеет такие вещи, которые называются extenders, которые, как я считаю, полезны в этих случаях. Пример для округления, но достаточно легко установить его, чтобы добавить знак доллара или конвертировать валюту. Таким образом, вы также можете использовать расширитель в других областях вашего сайта, который также должен конвертировать/отформатировать в долларах.

3

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

Изменить HTML код:

<td><span data-bind="text: formatCurrency(location.Premium())" /> </td> 

А затем добавьте яваскрипт FormatCurrency() функция:

var formatCurrency = function (amount) { 
    if (!amount) { 
     return ""; 
    } 
    amount += ''; 
    x = amount.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; 
}