2016-07-27 46 views
1

我使用jQuery數據表的版本1.10.12從https://datatables.net/數據表含有括號

列數據屬性按照一個示例:

色譜柱:

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

數據

[{ 
    "id":"1", 
    "Person[name]":"Foo Bar", 
    "Person[gender]":"M" 
}] 

這個網格的結果將只呈現id字段,我如何使用括號作爲關鍵值?

+0

你能解釋更多的,正是你需要的? –

+0

DataTables不呈現 - '名字'列中的'Foo Bar'和'性別'列中的'M'。但是我看到DataTables支持使用點''嵌套的字段,但是機器人就是這種情況,而我在解決這個簡單的問題時遇到了很多麻煩! –

回答

1

當爲columns.data選項指定字符串時,會對字符[]進行特殊處理。

您可以嘗試使用功能,而不是columns.data選項。

例如:

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]']; 
      } 
     } 
    } 
] 
+0

工作就像一個魅力!對於通用的使用,我已經實現瞭如下: 'var keys = []; (var i in cols){ if(cols [i] .data!=='id'){ keys [i] = cols [i] .data; cols [i] .data = function(row,type,val,meta)if(type ==='set'){ row [keys [meta.col]] = val; } else { return row [keys [meta.col]]; } } } }' –