Kotomono
Kotomono

Reputation: 78

How to format data from table column with the same class using javascript

i have table row inside a foreach looping that are have some columns with the same class, my question is how can i format each data in that column to be like ###,### (format number using comma) in javascript?

this is a sample for my table structure:

    <tbody id="binder">
<?php foreach () { ?>        
        <tr id="data">
            <td class="sum">400000</td>

            <td class="sum">500000</td>
            <td class="sum">500000</td>
            <td class="sum">0</td>
            <td class="sum">0</td>

            <td class="sum">500000</td>
            <td class="sum">500000</td>
            <td class="sum">0</td>
            <td class="sum">0</td>

            <td class="sum">500000</td>
            <td class="sum">500000</td>
            <td class="sum">0</td>
            <td class="sum">0</td>

            <td class="sum">500000</td>
            <td class="sum">500000</td>
            <td class="sum">0</td>
            <td class="sum">0</td>

            <td class="sum">500000</td>
            <td class="sum">500000</td>
            <td class="sum">0</td>
            <td class="sum">0</td>

            <td class="sum">500000</td>
            <td class="sum">500000</td>
            <td class="sum">0</td>
            <td class="sum">0</td>
        </tr>
<?php } ?>
    </tbody>

Upvotes: 0

Views: 303

Answers (1)

Rajshekar Reddy
Rajshekar Reddy

Reputation: 18997

You can get all the elements with the specific class name and then format its innerHTML. below is a working snippet.

var allTds = document.getElementsByClassName("sum");

for (var i = 0; i < allTds.length; i++) {

  allTds[i].innerHTML = allTds[i].innerHTML.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}
td{
   border:1px solid;
  }
<table>
  <tbody id="binder">
    <tr id="data">
      <td class="sum">400000</td>

      <td class="sum">500000</td>
      <td class="sum">500000</td>
      <td class="sum">0</td>
      <td class="sum">0</td>

      <td class="sum">500000</td>
      <td class="sum">500000</td>
      <td class="sum">0</td>
      <td class="sum">0</td>

      <td class="sum">500000</td>
      <td class="sum">500000</td>
      <td class="sum">0</td>
      <td class="sum">0</td>

      <td class="sum">500000</td>
      <td class="sum">500000</td>
      <td class="sum">0</td>
      <td class="sum">0</td>

      <td class="sum">500000</td>
      <td class="sum">500000</td>
      <td class="sum">0</td>
      <td class="sum">0</td>

      <td class="sum">500000</td>
      <td class="sum">500000</td>
      <td class="sum">0</td>
      <td class="sum">0</td>
    </tr>
  </tbody>
</table>

The regex reference taken from this answer. https://stackoverflow.com/a/2901298/2592042

Upvotes: 1

Related Questions