1

sumtrを使用して列を合計していますが、通貨用にフォーマットされた列から合計を計算できるようにしたいと考えています。

$('#Cart').sumtr({
    readValue: function (e) { return Number(parseFloat(e.data('val'))
                             .replace(/[^0-9\.]+/g, "")); },
    formatValue: function (val) { return formatCurrency(val); }
});

上記を削除するとreadValue、コードは正常に機能し、通貨記号のない列が合計されます。メソッドを使用しformatCurrency()て、通貨記号でフォーマットされた合計を表示しています。
ただし、列 (クラス「合計」) が既に通貨でフォーマットされsumtrている場合、値は機能しません。そのため、Numbers 以外のものを取り除く関数を取得しようとしましたreadValueが、何も返されません。

これは sumtr が作業しているテーブルの一部です

<tr>
    <td>Adrobupicator</td>
    <td class="currency">&#163;700.01</td>
    <td>1</td>
    <td class="sum currency">700.01</td>
</tr>
<tr>
    <td>A1 Product 2</td>
    <td class="currency">&#163;36.28</td>
    <td>1</td>
    <td class="sum currency">36.28</td>
</tr>
<tfoot>
    <tr class="summary">
        <td colspan="3">Cart Total</td>
        <td class="currency"></td>
    </tr>
</tfoot>
4

1 に答える 1