如何将JavaScript对象数组配置为jQuery DataTable数据源
问题根因
你写的代码报错,是因为传入对象数组作为DataTable数据源时,列配置没有做字段映射:你只给列设置了显示标题,没有指定每一列对应数组对象里的哪个属性,插件无法匹配要渲染的字段就会抛出错误。
修正方法
只需要给columns数组里的每一项添加data属性,值对应你数组对象里的键名即可,修正后的代码如下:
$.myjQuery = function(testData) { $('#example').DataTable({ data: testData, columns: [ { title: 'Name', data: 'Name' }, { title: 'Grade', data: 'Grade' }, ], }); }
排查补充
如果改完还是报错,可以逐一核对以下几点:
- 传入的
testData必须是结构一致的对象数组,每个元素都包含Name、Grade字段,不要混入null、undefined或者结构不符的元素 - 执行初始化代码前,页面上必须已经存在id为
example的<table>标签,建议把初始化逻辑放在DOM加载完成的回调里执行 - 如果这个表格之前已经初始化过DataTable实例,再次调用初始化前要先销毁旧实例,避免重复初始化报错,销毁代码为
$('#example').DataTable().destroy();
内容的提问来源于stack exchange,提问作者Stanley Jones
相关产品推荐
相关产品推荐

