0

我们有一个页面,上面有多个表格。所有表都是相同的(当然数据除外)。当我单击一个表的列标题时,是否可以对所有表进行排序。行为应该是,如果我单击列标题“名称”(例如),所有表都将在同一列上排序。

我尝试执行以下操作:

$(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"]);
 }
})

但是当我这样做时,我得到以下异常:

未捕获的类型错误:无法读取未定义的属性 'sSortDataType'

4

1 回答 1

2

fnSort() 的参数必须是二维数组,因为它需要一个数组,其中包含您要排序的所有列的排序,包括该列的排序选项。像这样:$(allTables[i]).dataTable().fnSort([[index, "asc"]]) ;

于 2013-08-23T10:37:54.987 回答