为什么Datatables用Ajax加载数据时索引列(Index column)被覆盖?
描述你的问题
我修改Ajax示例加入索引列(Index column),但是索引列被data属性值覆盖,请问如何解决?谢谢!贴上相关代码
var t = $(document).ready(function() {
$('#example').DataTable( {
"ajax": "data/objects.txt",
"columns": [
{ "data": null },
{ "data": "name" },
{ "data": "position" },
{ "data": "office" },
{ "data": "extn" },
{ "data": "start_date" },
{ "data": "salary" }
]
} );
} );
t.on( 'order.dt search.dt', function () {
t.column(0, {search:'applied', order:'applied'}).nodes().each( function (cell, i) {
cell.innerHTML = i+1;
} );
} ).draw();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
前两天也遇到这个问题,现在解决了所以来说出我的解决方案
第一覆盖了可能是服务器模式开启不正确 "bServerSide": true,//是否开启服务器模式这样开启是不正确的应该是
"serverSide": true,正常情况下如果不开启服务器模式 用延迟加载数据就可以,//当处理大数据时,延迟渲染数据,有效提高Datatables处理能力"deferRender": true 但是手册上有写“**需要注意的是,如果这个选项打开,正如大家都知道的,不是所有的行Node是可以被访问的, 所以当你使用API的方法时,例如 columns().nodes()DT , 你就必须考虑到这个情况。下面展示了一个例子,演示在这种情况下如何使用jQuery的代理事件。" 所以下面的那个常规方式就用不了了。开启服务器模式后 在服务器端
就可以正常输出行号了!希望对你有帮助。