31

我正在尝试将列作为带有数据表的超链接,但没有成功。

函数成功回调(响应对象){

  $(document).ready(function() {
         $('#example').dataTable( {
        "data":responseObj ,
        "bDestroy": true,
        "deferRender": true ,
        "columns": [
                    { "data": "infomation" },
                    { "data": "weblink" },
                ]
  } );

  } );

}

我需要网络链接来显示链接并成为该列中的超链接,以便用户可以单击并被重定向到另一个页面。我查看了渲染,但链接上的信息较少,我无法成功。

我也研究了这个例子,但它不是很有帮助。

4

3 回答 3

74

使用columns.renderAPI 方法为单元格动态生成内容。

$('#example').dataTable({
   "data": responseObj,
   "columns": [
      { "data": "information" }, 
      { 
         "data": "weblink",
         "render": function(data, type, row, meta){
            if(type === 'display'){
                data = '<a href="' + data + '">' + data + '</a>';
            }

            return data;
         }
      } 
   ]
});

有关代码和演示,请参见此示例

于 2015-05-27T18:05:47.073 回答
18

如果您希望根据其他列数据添加链接,则可以使用以下方法。

$('#example').dataTable({
   "data": responseObj,
   "columns": [
      { "data": "information" }, 
      { 
         "data": "weblink",
         "render": function(data, type, row, meta){
            if(type === 'display'){
                data = '<a href="' + row.myid + '">' + data + '</a>';
            }
            return data;
         }
      } 
   ]
});

我刚刚更改了渲染功能data仅指当前列数据,而rowobject 指整行数据。因此,我们可以使用它来获取该行的任何其他数据。

于 2017-12-07T13:52:06.800 回答
8
    $('#example').dataTable( {
  "columnDefs": [ {
    "targets": 0,
    "data": "download_link",
    "render": function ( data, type, full, meta ) {
      return '<a href="'+data+'">Download</a>';
    }
  } ]
} );

文档中。这对我来说非常清楚和直截了当,你不明白的具体是什么?你看到什么错误?

有关更完整的示例,请参见此处

于 2015-05-27T17:57:00.200 回答