所以我使用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中删除,但这对我来说感觉很糟糕。
答案 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
}