DataTables - 获取JSON中但不在表/ HTML中的数据

时间:2013-12-04 12:56:59

标签: javascript jquery json datatables jquery-datatables

所以我使用DataTables将数据从本地JSON文件提取到表中。我正在尝试将超链接应用于特定列中的每个单元格,但URL本身由存储在JSON中的数据组成,但我不会在表格中显示它,因为用户不需要查看它

简化示例:

表:

|  Name   |
-----------
| Apple   |
| Pear    |
| Orange  |

生成自:

{Fruits:[
    {
    "Name":"Apple",
    "id"  :"123"
    },
    {
    "Name":"Pear",
    "id"  :"456"
    },
    {
    "Name":"Orange",
    "id"  :"789"
    }
]}

所以Pear会有一个类似http://example.com/?pageid=456之类的链接,而不会在表格的任何地方显示“id”。

<a href="http://example.com/?pageid={{id}}">{{name}}</a>这样的东西就是我在把手上做的事情,但是唉,我正在使用DataTables。

我考虑过将URL的ID放在表中,然后隐藏它,这样我就可以使用jQuery将它从DOM中删除,但这对我来说感觉很糟糕。

1 个答案:

答案 0 :(得分:1)

初始化fnRowCallback时,您可以在选项中使用dataTable

"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
    var a = $('<a />').attr({
            "class": "some-class",
            "id": "fruit" + aData.id,
            "href": "http://example.com/?pageid=" + aData.id
        }).text(aData.Name);
    $('td:eq(0)', nRow).empty().append(a); //assumes you want this in the first column
}