Jquery 包含方括号的DataTables列数据属性

Jquery 包含方括号的DataTables列数据属性,jquery,datatables,Jquery,Datatables,我使用的是来自的jQuery DataTables版本1.10.12 举个例子: 栏目: columns: [ {title: "Id", data: "id"}, {title: "Name", data: "Person[name]"}, {title: "Gender", data: "Person[gender]"}, ] 资料 此网格的结果将仅呈现id字段,如何使用括号作为键值?当为选项指定字符串时,将对字符[]进行特殊处理 您可以尝试使用函数代替选项 例如:

我使用的是来自的jQuery DataTables版本1.10.12

举个例子:

栏目:

columns: [
    {title: "Id", data: "id"},
    {title: "Name", data: "Person[name]"},
    {title: "Gender", data: "Person[gender]"},
]
资料


此网格的结果将仅呈现
id
字段,如何使用括号作为键值?

当为选项指定字符串时,将对字符
[]
进行特殊处理

您可以尝试使用函数代替选项

例如:

columns: [
    {  title: "Id", data: "id"},
    {  
        title: "Name", 
        data: function(row, type, val, meta){
           if (type === 'set') {
              row['Person[name]'] = val;
              return;
           } else {
              return row['Person[name]'];
           }
        }
    },
    {  
        title: "Gender", 
        data: function(row, type, val, meta){
           if (type === 'set') {
              row['Person[gender]'] = val;
              return;
           } else {
              return row['Person[gender]'];
           }
        }
    }
]

您能进一步解释一下,您到底需要什么吗?DataTables在
Name
列中不会呈现-
Foo Bar
,而在
Gender>列中不会呈现
M
。但是我看到DataTables支持使用dots
的嵌套字段,但就是这种情况,我有很多方法来解决这个简单的问题!工作得很有魅力!对于一般用途,我实现了以下功能:
var-keys=[];对于(cols中的var i){if(cols[i].data!='id'){keys[i]=cols[i].data;cols[i].data=函数(row,type,val,meta){if(type=='set'){row[keys[meta.col]=val;}else{return row[keys[meta.col]];}}}}
当我使用圆括号作为列名(如“sum(cost)”)时,这节省了我的时间。谢谢!
columns: [
    {  title: "Id", data: "id"},
    {  
        title: "Name", 
        data: function(row, type, val, meta){
           if (type === 'set') {
              row['Person[name]'] = val;
              return;
           } else {
              return row['Person[name]'];
           }
        }
    },
    {  
        title: "Gender", 
        data: function(row, type, val, meta){
           if (type === 'set') {
              row['Person[gender]'] = val;
              return;
           } else {
              return row['Person[gender]'];
           }
        }
    }
]