チェックボックスで列を表示/非表示にする動的テーブルがphp/mysqlにあります。以下のコード スニペットは、合計列のセル値を非表示にして再計算する JavaScript の一部です。
function toggleVis(button) {
// Toggle column
cells = $$('.t'+button.name);
cells.invoke(button.checked ? 'show' : 'hide');
// Recaulculate total
$$('tr.row').each(function(row) {
// Initialise to zero
var total = 0;
row.down('.total').textContent = total;
// Sum all visible cells
row.select('td').each(function(cell) {
total += cell.visible() ? parseInt(cell.textContent, 10) : 0;
});
// Write the total in the total cell
row.down('.total').textContent = total;
});
}
これは、テーブルの内容が単純な数字の場合はうまく機能しますが、通貨の値を含む別のテーブルを作成する必要があります。これにより、NaN
おそらく £ 記号が原因で合計列が返されます。これをphpで次のコードでフォーマットします。
<tbody>
<?php do { ?>
<tr>
<td><?php echo $row_rsMISource['Source']; ?></td>
<td><?php echo "£".number_format($row_rsMISource['May'], 2, '.', ','); ?></td>
<td><?php echo "£".number_format($row_rsMISource['Jun'], 2, '.', ','); ?></td>
<td><?php echo "£".number_format($row_rsMISource['Jul'], 2, '.', ','); ?></td>
<td><?php echo "£".number_format($row_rsMISource['Aug'], 2, '.', ','); ?></td>
<td><?php echo "£".number_format($row_rsMISource['Total'], 2, '.', ','); ?></td>
</tr>
<?php } while ($row_rsMISource = mysql_fetch_assoc($rsMISource)); ?>
</tbody>
これは、£10,169.62、£7,053.00、£.0.00 などの値を出力します。
上記の投稿されたjsを使用しながら、セルを通貨でフォーマットすることは可能ですか?