views:

5205

answers:

1

Ok I have a jQuery function already to perform the task I need but is there a way to loop through the cells of a specific with the id="generated_rows"

<table>
<tr id="generated_rows">
<td class="row_class" id="row_id_1">text 1</td>
<td class="row_class" id="row_id_2">text 2</td>
<td class="row_class" id="row_id_3">text 3</td>
<td class="row_class" id="row_id_4">text 4</td>
<td class="row_class" id="row_id_5">text 5</td>
</tr>
</table>

Need this

<table>
<tr id="generated_rows">
<td class="row_class" id="row_id_1">text 1.00</td>
<td class="row_class" id="row_id_2">text 2.00</td>
<td class="row_class" id="row_id_3">text 3.00</td>
<td class="row_class" id="row_id_4">text 4.00</td>
<td class="row_class" id="row_id_5">text 5.00</td>
</tr>
</table>

FUNCTION BELOW NOW WORKS!!!, Thanks

// Check for whole numbers and append .00
$('#generated_rows td.row_class').each(function() {
     var x = Number($(this).text()).toFixed(2);
     $(this).text(x);
});
+2  A: 

You are close, just need to use td instead of tr in your selector. Here's my version to append ".00" at the end of cell's text (assuming all numbers are not already in fixed format of course)

$("#generated_rows > td.row_class").each(function() { 
    var $this = $(this);
    var splitText = $this.text().split(' ');
    splitText[1] = Number(splitText[1]).toFixed(2);
    $this.text(splitText.join(' '));
});
Ricky Supit
just what I needed, thanks
Phill Pafford