Json文件:
[
{
"id":"40",
"name":"Holliday",
"firstname":"Billy",
"company":"Blues"}
]
我从json文件中获取了一些数据,这些数据填充了我的数据表中的列:
$(document).ready(function() {
$('#example3').DataTable( {
"ajax": {
"url": "data.json",
"dataSrc": ""
},
"columns": [
{ "data": "id" },
{ "data": "name" },
{ "data": "firstname" },
{ "data": "company" },
]
} );
} );
现在我需要添加一个自定义列,它将文本和json文件中的ID结合起来。
$(document).ready(function() {
$('#example3').DataTable( {
"ajax": {
"url": "data.json",
"dataSrc": ""
},
"columns": [
{ "data": "id" },
{ "data": "name" },
{ "data": "firstname" },
{ "data": "company" },
{"data":null,className: "action","defaultContent":"The id of this person is" + id}
]
} );
} );
所以我需要知道如何定义变量ID以将其放入我的文本中。我试过了
var id = data.id;
但它不起作用
答案 0 :(得分:2)
正如其他提到的那样,使用column.render
回调,但正确使用它:)目标full
(或第三个参数)以获取行完整的JSON项目,并设置列{{1} } data
的属性:
null
演示 - >的 http://jsfiddle.net/pa1ps1yz/ 强>
答案 1 :(得分:1)
defaultcontent 是静态的,因此无法访问数据。
而是尝试使用渲染
<强> USAGE:强>
.
.
{ "data": "company" },
{
sortable: false,
"render": function ( data, type, full, meta ) {
return '<span class="action">The id of this person is '+data.id+'</span>';
}
}
答案 2 :(得分:0)
$(document).ready(function() {
$('#example3').DataTable( {
"ajax": {
"url": "data.json",
"dataSrc": ""
},
"columnDefs": [
{
"render": function ( data, type, row ) {
return 'The id of this person is' + data;
},
"targets": 4
},
],
"columns": [
{ "data": "id" },
{ "data": "name" },
{ "data": "firstname" },
{ "data": "company" },
{ "data": "id" },
]
} );
} );