格式化表号?

时间:2016-11-07 03:07:45

标签: javascript jquery

如何使用<td>格式化具有类class="contribution"的所有表.toLocaleString();元素或可以添加逗号和货币格式的类似方法?如果与性能相关,表将永远不会超过200行。这是当前的表格体格式:

  <tbody>
    <tr>
      <td>2009-01-31</td>
      <td class="contribution">-100000.00</td>
      <td class="distribution">0.00</td>
      <td class="nav">0.00</td>
    </tr>
    <tr>
      <td>2013-05-15</td>
      <td class="contribution">0.00</td>
      <td class="distribution">56000.00</td>
      <td class="nav">64000.00</td>
    </tr>
  </tbody>

我目前使用的javascript似乎不起作用,是:

$(document).ready( function() {
    $("td.contribution").toLocaleString('en-US');
})

如果它有帮助,网页确实加载了jquery 3。

2 个答案:

答案 0 :(得分:5)

试试这个(编辑使用货币格式):

&#13;
&#13;
$(document).ready( function() {
  $("td.contribution").each(function() { $(this).html(parseFloat($(this).text()).toLocaleString('en-US', {style: 'currency', currency: 'USD'})); })
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody>
    <tr>
      <td>2009-01-31</td>
      <td class="contribution">-100000.00</td>
      <td class="distribution">0.00</td>
      <td class="nav">0.00</td>
    </tr>
    <tr>
      <td>2013-05-15</td>
      <td class="contribution">0.00</td>
      <td class="distribution">56000.00</td>
      <td class="nav">64000.00</td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;

这会在每个单元格上调用一个函数,该函数会使用单元格中数字的区域设置格式替换HTML内容。您的原始代码未在单元格中读取或写入文本。

答案 1 :(得分:-1)

你能试试吗?

$(document).ready(function () {            
            $("td.contribution").each(function () {
                $(this).text($(this).text().toLocaleString('en-US'));
            })
        });