jQuery Datatables对多个表进行排序

时间:2013-04-30 07:54:30

标签: jquery sorting datatables

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

我尝试过以下操作:

$(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'

1 个答案:

答案 0 :(得分:2)

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