我有一个静态 HTML 表,其中包含来自不同供应商的零件的价格和描述。
该表包含一列文本框,供用户针对特定零件输入数量,其想法是然后计算供应商的价格,以便他们可以看到最便宜的。
我在 dataTables fnFooterCallback 函数中有一些逻辑可以生成总数,所以当数量 texboxes 的值发生变化时,我试图让表重绘(并因此更新页脚中的总数)。
我在表格上调用 fnDraw() 的输入上注册了一个 blur() 处理程序,但它似乎没有做任何事情。
我在这里重新创建了一个示例,这里是 Javascript:
var $productsTable = $("table#products").dataTable({
bFilter: false,
bPaginate: false,
bSort: false,
bInfo: false,
fnFooterCallback: function (nRow, aaData, iStart, iEnd, aiDisplay) {
// For every column after the qty and desc colums
for (var column = 2; column < aaData[0].length; column++) {
var columnTotal = 0;
// Sum every row into a column total
for (var row = 0; row < aaData.length; row++) {
var quantity = aaData[row][0].value || 0;
columnTotal += aaData[row][column] * quantity;
}
// * and / by 100 to round to 2 decimals
nRow.cells[column].innerText = Math.round(columnTotal * 100) / 100;
}
}
});
$("input[data-qty]").blur(function () {
// Example at http://datatables.net/api indicates that this should be enough?
$productsTable.fnDraw();
});
谁能告诉我哪里出错了,好吗?
谢谢你。