开发者

Performing calculations on table cells

I have a php script which generates a pricelist in a tabl开发者_高级运维e. Example of a generated table:

<table>
  <thead>
    <tr>
    <th></th>
    <th>100</th>     
    <th>+100</th>           
    </tr>
  </thead>
  <tbody>
    <tr>
           <th>A5<span>210x148</span></th>
           <td>€65.00</td>
           <td>€8</td>
        </tr>
        <tr>
           <th>A4<span>297x210</span></th>
           <td>€75.00</td>
           <td>€16</td>
        </tr>       
  </tbody>
</table>

Basically what I want to do is make a button to add VAT. So: take the values from the price cells, add 21% and replace the original value. If the button is clicked again, it restarts.

My issue is that I am not familiar with jquery and can not figure out how to extract and rewrite the values per cel. I can get the effect I want if I add an id to a cell, however I can't seem to figure out how to do it for all the cells. Another thing I can't get working is stripping away the currency sign to do the calculation.

Any help would be greatly appreciated.


One approach would be to give those 'price' cells a class name

<td class='price'>

and then loop through that collection of elements:

$('price').each(function(index) {
     vat = $(this).text().replace("$", "") * 1.21;
     $(this).text() = vat;
  });

Untested but hopefully it communicates the idea.


You can add a class to EVERY table cell where you'll have the price to compute VAT like

<td class='priceCell'>

and then do something like on the first press button

$('priceCell').each(function(index) {
     $(this).text() = calculateVAT($(this).text());
  });

Where calculateVAT is a function javascript who calculates VAT. As this solution performs float point calculation on a number that could be rounded, another possible elegant solution is to add an hidden column with VAT-added totals and the button just switch between the two columns

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜