Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从json数据文件中的值创建JS变量?_Javascript_Json_Datatables - Fatal编程技术网

Javascript 如何从json数据文件中的值创建JS变量?

Javascript 如何从json数据文件中的值创建JS变量?,javascript,json,datatables,Javascript,Json,Datatables,Json文件: [ { "id":"40", "name":"Holliday", "firstname":"Billy", "company":"Blues"} ] 我从一个json文件中获取一些数据,该文件正在填充我的datatable中的列: $(document).ready(function() { $('#example3').DataTable( { "ajax": {

Json文件:

[
   {
    "id":"40",
    "name":"Holliday",
    "firstname":"Billy",
    "company":"Blues"}
]
我从一个json文件中获取一些数据,该文件正在填充我的datatable中的列:

$(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


但它不工作

默认内容是静态的,因此不可能访问数据

相反,请尝试使用渲染

用法:

.
.
{ "data": "company" },
{
    sortable: false,
    "render": function ( data, type, full, meta ) {                     
    return '<span class="action">The id of this person is '+data.id+'</span>';
         }
}
。
.
{“数据”:“公司”},
{
可排序:false,
“呈现”:函数(数据、类型、完整、元){
返回“此人的id为”+data.id+”;
}
}

如其他人所述,使用
列。render
回调,但要正确使用:)Target
full
(或第三个参数)来获取行完整的JSON项,并将columns
data
属性设置为
null

var table = $('#example').DataTable({
 data: data,
 columns: [
   { data: "id", title: 'id' },
   { data: "name", title: 'name' },
   { data: "firstname", title: 'firstname' },
   { data: "company", title: 'company' },
   { data: null, 
     title: 'combined',
     render: function(data, type, full) {
       return 'The id of '+full.firstname+' '+full.name+' is '+full.id
     }
   } 
 ]
})  

demo->

您的意思是“defaultContent”:“此人的id是”+data.id?@Esko是的,实际上是的。如果没有看到json,没有人可以帮助您。请发布你的json。@Khaleel好的,一秒钟用jsonTested更新你的问题。结果是:
“此人的id是”+data.id
@Jarla现在检查一下。
var table = $('#example').DataTable({
 data: data,
 columns: [
   { data: "id", title: 'id' },
   { data: "name", title: 'name' },
   { data: "firstname", title: 'firstname' },
   { data: "company", title: 'company' },
   { data: null, 
     title: 'combined',
     render: function(data, type, full) {
       return 'The id of '+full.firstname+' '+full.name+' is '+full.id
     }
   } 
 ]
})