对不起,如果标题有点误导。
我有一个webgrid
在表格底部我有JavaScript女巫添加一个'Totals'行。
这一行显示正常,总计是正确的,很好。我的JavaScript存在问题,我无法弄清楚如何修复它们,因为我对JavaScript很陌生。
第一期
当一个单元格清空时,显示单词“Totals”。这对于第一个单元格是正确的,因为我想要字段标签,但我不希望它显示在我所有其他空单元格中。
第二期
我的值是金额(GBP),但有些单元格显示超过2位小数。
我的JavaScript
var grid = document.getElementById("clientlisttable");
var total = 0;
var row = grid.insertRow();
if(grid.rows.length > 1)
{
for (var i = 0; i < grid.rows[1].cells.length; i++)
{
var cell = row.insertCell(i);
if (grid.rows[1].cells[i].innerHTML.indexOf("£") > -1)
{
for (var y= 1; y < grid.rows.length-3; y++)
{
total = total + parseFloat(grid.rows[y].cells[i].innerHTML.replace("£","").replace(",",""));
}
cell.innerHTML = "£" + total;
cell.className = "clientlisttotals";
total = 0;
}
else
{
cell.innerHTML = "Totals";
cell.className = "clientlisttotals";
}
}
}
$('tbody').append(row);
也好奇,如果有办法删除表类。它所在的表类是一个表格悬停,但在这一行我不希望悬停工作,是否还有一种方法可以删除此行?
我也尝试使用.toFixed(2)
但运行时出错,除非我使用错了。
我想在JavaScript中这样做,请您提供我需要做出的更改示例。
我设法通过将.toFixed(2)
添加到行cell.innerHTML = "£" + total.toFixed(2);
来解决小数位问题。此问题现已解决。
只需要帮助复制,以及如何使用','格式化我的价值
我现在设法通过更新cell.innerHTML = "£" + total.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
来解决逗号问题。此问题现在也已解决。
请帮忙复制
答案 0 :(得分:0)
下面的代码修复了我在初始帖子中提出的所有问题
var grid = document.getElementById("clientlisttable");
var total = 0;
var row = grid.insertRow();
if(grid.rows.length > 1)
{
for (var i = 0; i < grid.rows[1].cells.length; i++)
{
var cell = row.insertCell(i);
if (grid.rows[1].cells[i].innerHTML.indexOf("£") > -1)
{
for (var y= 1; y < grid.rows.length-2; y++)
{
total = total + parseFloat(grid.rows[y].cells[i].innerHTML.replace("£","").replace(",",""));
}
cell.innerHTML = "£" + total.toFixed(2).replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");
cell.className = "clientlisttotals";
total = 0;
}
else
{
if (cell.cellIndex != "0"){
cell.innerHTML = "";
cell.className = "clientlisttotals";
}
else{
cell.innerHTML = "Totals";
cell.className = "clientlisttotals";
}
}
}
}