如何在DataTables分页时自动调用save_codes()更新缓存数据?
解决DataTables分页切换时缓存不更新的问题
直接利用DataTables自带的分页相关事件,就能在切换分页时自动触发save_codes()函数,保证缓存和当前分页内容一致,具体实现如下:
- 初始化DataTables后,绑定
page.dt事件(这是DataTables专门针对分页切换的事件):
// 初始化表格 var table = $('#table').DataTable(); // 监听分页切换动作,触发备份 table.on('page.dt', function() { save_codes(); });
- 如果你的
save_codes()需要等新分页的DOM元素完全渲染好再执行,换成draw.dt事件更稳妥(这个事件会在表格完成重绘后触发,包括分页、排序、搜索等操作后的重绘):
table.on('draw.dt', function() { save_codes(); });
要是你的表格用的是服务器端分页(设置了serverSide: true),优先用draw.dt事件,确保新数据加载完成后再执行备份,避免取不到新渲染的textarea内容。
内容的提问来源于stack exchange,提问作者CNV
相关产品推荐
相关产品推荐

