cells().invalidate()
让 DataTables 持有的有关所选单元格的数据无效。
描述
DataTables 缓存了有关表格中每个单元格内容的信息,以提高诸如排序和搜索之类的表格操作的性能。如果您要修改单元格的内容(针对 DOM 数据源表格)或数组/对象值(针对 Ajax/JS 源表格),DataTables 将不知道已发生更改。此方法可用于让 DataTables 重新从该行的(无论来自 DOM 还是对象/数组,即无论最初数据源是什么)数据源读取信息。
这提供在更改单元格值时使用 cell().data()
和 row().data()
的替代方法。通常,data
方法比无效化方法更受欢迎,因为它们使用更少的代码,但是,当无效化方法真正发挥作用时,使用该对象的自身方法即可更新表格数据源,可以是外部对象。
此方法之前实际上已经让所选单元格的整行无效。现在,只有相关单元格才无效。
类型
function cells().invalidate( [ source ] )
- 描述
让所选单元格中的信息无效
- 参数
名称 类型 可选 1 source
是 - 默认值:auto 要从中读取新数据的数据源。
默认情况下,DataTables 将从与最初读取相同的数据源(即 DOM 源或 Javascript 源)自动读取这一行的新的数据,但是,此参数可用于覆盖该值,并具体告知 DataTables 应该用哪个用于读取新数据。如果您正在使用 Ajax 加载数据,但使用 DOM 对单元格内容进行修改,这可能会很有用。
此属性可以采用以下值
auto
- 使用原始数据源data
- 使用 JavaScript 数据结构dom
- 使用当前保存在 DOM 中的数据
- 返回
在结果集中具有所选单元格引用项的 DataTables API 实例
示例
使用 jQuery 修改单元格的内容,然后让 DataTables 持有的数据无效
var table = new DataTable('#myTable');
var td = $('#example tbody td:eq(0)');
td.html('Updated');
table
.cell(td)
.invalidate()
.draw();
相关
以下选项具有直接关联性,在应用程序开发中也可能很有用。