如何在jQuery DataTables上重新初始化数据排序?

我在我的项目中使用jQuery Datatables,并通过使用如下所述的属性data-sort对列进行“自定义值”排序: https : //datatables.net/examples/advanced_init/html5-data-attributes。 HTML

工作良好。 但是现在我使用Javascript / jQuery来更新这些属性的值,而dataTable没有考虑新值,它仍然使用原始值进行排序。

直接对属性进行更新:

 $('td#myColumnId').attr('data-order', newValue); 

如何强制我的dataTable重新初始化我的自定义排序值?

到目前为止,我已经尝试过.draw().dataTable()但不幸的是,这不起作用。

我期待着一个可能的解决方案。

您需要invalidate()单元invalidate() 。 dataTables没有机会知道您以编程方式更改了列中一个或多个单元格的正交数据(=自定义排序值)。 如果你有像这样的实例

 var table = $('#example').DataTable(); 

并按以下方式更改data-order

 $('td#myColumnId').attr('data-order', newValue); 

然后invalidate单元格/列invalidate

 table.cells("#myColumnId").invalidate();