描述(Description)
DataTables为了提高表格某些操作,比如排序和搜索,把单元格的数据进行缓存。但如果你想修改一个单元格的内容(表格为DOM数据源)或者数组、对象的值(表格为AJAX/JS数组数据源), DataTables 是不会知道你做了修改。这个方法就是用来告诉DataTables重新从数据源读取数据。
cell().data()API
,
row().data()API
两个方法可以修改单元格数据,相比下这两个方法比invalidate
更好,写更少的代码。但是invalidate
方法最出色的是当表格的数据源是外部对象的时候,就可以用对象自己的方法来更新数据。
在之前,这个方法实际上会使所选单元格的整行的数据失效,但现在,这个方法只会让选中的单元格失效。
类型(Type)
function cells().invalidate( [ source ] )
描述(Description):
使选定的多个单元格的数据失效
参数(Parameters):
名称(Name) | 类型(Type) | 是否可选(Optional) | |
---|---|---|---|
1 | source |
stringType
|
Yes - default:auto |
从数据源读取新的数据。 默认情况下,DataTables 会自动给行 从以前最初被读取过的数据源(比如,dom或者js数据源)中读取新数据。 但是这个参数可以用来重载以及明确地告诉DataTables应该在哪个新数据里读取。这个可能在你使用的是AJAX数据,但是又使用JS去修改单元格DOM内容的时候很有用。 这个属性可以接受如下几个参数:
|
返回(Returns):
被选中单元格的Datatables API实例结果集
例子(Example)
使用jQuery修改单元格的内容,然后使DataTables保留的内部数据失效以保持一致
1
2
3
4
5
var table = $('#example').DataTable();
var td = $('#example tbody td:eq(0)');
td.html( 'Updated' );
table.cell( td ).invalidate().draw();
相关属性(Related)
下面的选项是直接相关的,也可能是您的应用程序的开发非常有用。
API