我们有一个包含多个表格的页面。所有表格都相同(当然数据除外)。 当我单击一个表的列标题时,是否可以对所有表进行排序。 行为应该是,如果我点击列标题“名称”(例如),所有表将在同一列上排序。
我尝试过以下操作:
$(document).on("click", ".myTable thead th", function () {
var index = $(this).closest("thead").children("tr").find("th").index($(this));
var allTables = $.fn.dataTable.fnTables();
for (var i = 0; i < allTables.length; i++) {
$(allTables[i]).dataTable().fnSort([index, "asc"]);
}
})
但是当我这样做时,我得到以下异常:
未捕获的TypeError:无法读取未定义的属性'sSortDataType'
答案 0 :(得分:2)
fnSort()的参数必须是 2维数组,因为它需要一个数组,其中包含您要排序的所有列的排序,包括列的排序选项。像这样: $(allTables [i])。dataTable()。fnSort([[index,“asc”]]);