Datatables.net中render函数获取其他列值返回undefined问题求助
解决DataTables中render函数无法获取其他列值的问题
你的问题出在render函数的参数顺序错误。DataTables的render函数标准参数顺序是:data, type, row, meta,你把第二个参数当成了row,但实际上它是type(数据类型,比如'display'/'sort'等),所以导致你拿到的row不是真正的行数据对象,自然取不到row.test1和row.test2的值。
修正后的代码如下:
columns: [ {"data": "test1"}, {"data": "test2"}, { "data": "test3", "render": function(data, type, row, meta) { // 现在row是完整的行数据对象,可以正常获取其他列的值 return xyz(row.test1, row.test2); } } ]
额外排查点:
- 确认Ajax返回的数据源中确实包含
test1和test2字段,字段名要完全匹配(大小写敏感) - 如果使用的DataTables版本较旧,可检查是否存在版本兼容的参数写法,但优先通过修正参数顺序解决问题
内容的提问来源于stack exchange,提问作者Harshit Verma
相关产品推荐
相关产品推荐

