【发布时间】:2015-05-16 12:56:16
【问题描述】:
我定义了我的 jquery 数据表,除了基表元素之外没有任何 HTML。这是我的 HTML:
<table id="mytable"></table>
然后我通过数据表定义来完成所有的表配置。示例代码:
var dataSet = [
{name: "storage101", size: 492},
{name: "storage102", size: 742},
{name: "storage103", size: 423}
]
$.extend($.fn.dataTable.defaults, {
sDom: '<"top"i>rCt<"bottom"flp><"clear">'
});
$("#storages").dataTable({
data: dataSet,
aoColumns: [
{title: "Name", mData: "name"},
{title: "Size", mData: "size"}
],
oLanguage: {sEmptyTable: "No logs"},
fnFooterCallback: function(nRow, aaData, iStart, iEnd, aiDisplay) {
var api = this.api();
var size = 0;
aaData.forEach(function(x) {
size += (x['size']);
});
// I need a footer in my table before doing this, what is the smartest way to add the footer?
$(api.column(1).footer()).html(
size
);
}
});
现在我想使用页脚回调在页脚内显示我的数据集的总和。
不幸的是,将 HTML 添加到页脚(如本例中:https://datatables.net/examples/advanced_init/footer_callback.html)不起作用,因为表格不包含任何 tfoot 元素和所需的行和列。 为我的所有列添加页脚的干净方法是什么?
JSFiddle 上面的代码: http://jsfiddle.net/36twp251/1/
【问题讨论】:
-
您能否在您的问题中添加更多代码/信息,以便我们重现您的问题?并且,如果可能的话,分叉这个JS Fiddle 以重新创建您的用例的近似值?可以使用 JS Fiddle 的“echo”API 包含 AJAX,在另一个 SO 问题“AJAX in jsFiddle”中有一些说明。
-
@DavidThomas 当然,我相应地改变了小提琴,如果一些问题足够好!
-
如果没有
<tfoot>元素,您将无法使用 DataTables 添加页脚。那么您是在问如何在不修改 HTML 的情况下做到这一点吗?我假设你无法控制 HTML,对吧?
标签: javascript jquery datatables