Reputation: 78
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
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