【问题标题】:How to display a hyperlink in a cell with jQuery DataTables如何使用 jQuery DataTables 在单元格中显示超链接
【发布时间】:2015-09-25 09:08:27
【问题描述】:

我将一些 Ajax 数据读入 jQuery DataTables。问题是我需要将第一列中的数据变成超链接。如<td><a href = "5555.html">5555</a></td>

我的 JSON 数据:

{
   "data": [
      ["5555","07/17/2010","RCC Saturday Open","E10","Harris, Fred","1900","Nikolayev, Igor (FM)","2367","1-0"],
      ["5554","07/17/2010","RCC Saturday Open","B01","Nikolayev, Igor (FM)","2367","Motroni, Richard","1728","1-0"]
   ]
}

JavaScript:

$(document).ready(function() {
   $('#cccr').DataTable( {
      "render": function ( data, type, row ) {
         return '<a href="basic.php?game=' + data + '></a>'; //doesn't work
      },
      "ajax": 'games.json',
      "deferRender": true
   } );
} );

我对 JavaScript 不太了解。在搜索 datatables.net 网站数小时后,我无法弄清楚。

有人可以帮忙吗?

【问题讨论】:

    标签: datatables


    【解决方案1】:

    原因

    选项render 应该是columnscolumnDefs 的子属性。

    解决方案

    使用columnDefs.render 选项在单元格中动态显示超链接。

    例如:

    var table = $('#cccr').DataTable({
        /* ... skipepd other options ... */
        columnDefs: [
            {
                targets: 0,
                render: function ( data, type, row, meta ) {
                    if(type === 'display'){
                        data = '<a href="basic.php?game=' + encodeURIComponent(data) + '">' + data + '</a>';
                    }
    
                    return data;
                }
            }
        ]      
    });
    

    演示

    有关代码和演示,请参阅 this jsFiddle

    【讨论】:

    • 谢谢!但是 jsFiddle 示例使用内联 JSON 数据。我有一个包含 600 条记录的外部 JSON 文件。而不是 var data = [["5555","07/17/2010" 等。我需要引用一个外部文件。
    • @verlager,我只是使用内联 JSON 进行演示。如果需要,可以使用 ajax 选项来使用外部 JSON。
    • 问题是代码产生了一个问题,即第 3 列(日期)在 1280 x 768 的笔记本电脑显示屏上与第 2 列对接。这可能是数据表问题。但除非这个问题得到解决,否则我的网络母带时代已经结束。
    • @verlager,不确定这与您的原始问题有何关系。
    【解决方案2】:

    通过render option配置列定义:

    "render": function ( data, type, row ) {
      return '<a href="#">' + data + '</a>';
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多