将超链接嵌入到详细信息DataTables行的一列中

用户名

这是来自SO问题的追随者

从接受的响应中,我能够使表正常工作,如下面的JS小提琴所示。

`var data = {"data":[{"student_name":"jack","subjects":{"math":{"cat1_grade":"30","cat2_grade":"39","cat3_grade":"38"},"english":{"cat1_grade":"30","cat2_grade":"39","cat3_grade":"38"},"swahili":{"cat1_grade":"30","cat2_grade":"39","cat3_grade":"38"}},"subject1_average":"35","subject2_average":"26","subject3_average":"59"}]};

/* Formatting function for row details - modify as you need */
function format ( d ) {
    // `d` is the original data object for the row
    var header = false;
    var detail_table = $("<table></table>",{
        "cellpadding":"5",
        "cellspacing": "0",
        "border": "0",
        "style":"padding-left:50px;"
    });
    var tbody = $("<tbody></tbody>");
    detail_table.append(tbody);
    $.each(d.subjects, function(k, v){
        var tbody_row = $("<tr></tr>").append($("<td></td>",{"text": k}));
        if(!header){
            var thead = $("<thead></thead>");
            var thead_row = $("<tr></tr>")
            thead_row.append($("<th></th>",{"text":" "}));
            $.each(v, function(a, b){
                thead_row.append($("<th></th>",{"text":a}));
                tbody_row.append($("<td></td>",{"text":b}));
            });
            thead.append(thead_row);
            detail_table.append(thead);          
            header = true;
        }else{
            $.each(v, function(a, b){
                tbody_row.append($("<td></td>",{"text":b}));
            });
        }
        tbody.append(tbody_row);     
    });
    return detail_table;
}

$(document).ready(function() {
    var table = $('#example').DataTable( {
        "ajax": {
            "url": '/echo/js/?js=' + encodeURIComponent(JSON.stringify(data)),
        },
        "columns": [
            {
                "className":      'details-control',
                "orderable":      false,
                "data":           null,
                "defaultContent": ''
            },
            { "data": "student_name" },
            { "data": "subject1_average" },
            { "data": "subject2_average" },
            { "data": "subject3_average" }
        ],
        "order": [[1, 'asc']]
    } );

    // Add event listener for opening and closing details
    $('#example tbody').on('click', 'td.details-control', function () {
        var tr = $(this).closest('tr');
        var row = table.row( tr );

        if ( row.child.isShown() ) {
            // This row is already open - close it
            row.child.hide();
            tr.removeClass('shown');
        }
        else {
            // Open this row
            row.child( format(row.data()) ).show();
            tr.addClass('shown');
        }
    } );
} );

JS小提琴链接

但是,我真的很想让details列之一成为超链接。因此,具体来说,我将如何使学生的数学列成为超链接,以便在用户单击数学时将其导航至math.html链接,例如“ http://math.com ”。

为了明确起见,我相信

$.each(v, function(a, b){
                tbody_row.append($("<td></td>",{"text":b}));
            });

是创建行的部分,我想要的是使该行的X成为超链接,而所有其他元素可以是文本。我不太了解javascript,因此我认为这{"text":b}是将元素作为文本添加到行中。但是我不知道如何将对象v的元素X指定为URL,同时将v的其余元素保留为文本

Gyrocode.com

改变:

var tbody_row = $("<tr></tr>").append($("<td></td>",{"text": k}));

var tbody_row = $("<tr></tr>").append($("<td></td>",{"html": '<a href="' + k + '.html">' + k + '</a>'}));

构造到math.html主题是的链接math

有关代码和演示,请参见更新的jsFiddle

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

附加数据库时发生错误。单击“消息”列中的超链接以获取详细信息

来自分类Dev

冻结第一列和详细信息

来自分类Dev

ListView详细信息在最后一列中插入数据Visual Basic

来自分类Dev

DataTables:如何将第一列(ID)显示为超链接?

来自分类Dev

超链接模板字段onclick将值传递给pageB以显示其详细信息

来自分类Dev

根据类型将联系人详细信息分组到 SQL 中的单独列中

来自分类Dev

将超链接嵌入到数据集中带有HTML的列中

来自分类Dev

在SSRS中添加“ COUNT”列以代替详细信息行

来自分类Dev

从列中获取详细信息值以创建新行

来自分类Dev

正在将任务详细信息保存到数据库中,但未保存任务之间的链接详细信息

来自分类Dev

超链接还是跳到同一列中的另一行?

来自分类Dev

将一列文字网址转换为Shiny中的活动超链接

来自分类Dev

如果满足多个条件,如何使用VBA将某些行详细信息复制到新工作表中?

来自分类Dev

超链接将结果从一列返回到另一列

来自分类Dev

是否可以将水晶报表的节详细信息中的三行转换为三列

来自分类Dev

将ForeignKey记录链接到其在Django Admin中的详细信息视图?

来自分类Dev

将ForeignKey记录链接到其在Django Admin中的详细信息视图?

来自分类Dev

如何将鼠标焦点设置到WPF数据网格的行详细信息?

来自分类Dev

使用PHP将数据从可点击表格行传递到详细信息页面

来自分类Dev

Codeigniter通过链接获取行详细信息(foreach)

来自分类Dev

将多个文件复制到远程位置,并在Powershell中显示进度详细信息

来自分类Dev

C#LINQ:将详细信息对象投影到摘要对象中

来自分类Dev

根据所选选项的数量将表单的详细信息插入到MySQL表中

来自分类Dev

无法将数据从集合视图传递到 Xcode 中的详细信息视图

来自分类Dev

如何将信息复制到与另一列中对应的列中?

来自分类Dev

如何将信息复制到与另一列中对应的列中?

来自分类Dev

将数据从母版传递到详细信息页面

来自分类Dev

如何将一列带有超链接的文本转换为 Excel 中的文本 URL?

来自分类Dev

从表行到详细信息的AJAX请求

Related 相关文章

  1. 1

    附加数据库时发生错误。单击“消息”列中的超链接以获取详细信息

  2. 2

    冻结第一列和详细信息

  3. 3

    ListView详细信息在最后一列中插入数据Visual Basic

  4. 4

    DataTables:如何将第一列(ID)显示为超链接?

  5. 5

    超链接模板字段onclick将值传递给pageB以显示其详细信息

  6. 6

    根据类型将联系人详细信息分组到 SQL 中的单独列中

  7. 7

    将超链接嵌入到数据集中带有HTML的列中

  8. 8

    在SSRS中添加“ COUNT”列以代替详细信息行

  9. 9

    从列中获取详细信息值以创建新行

  10. 10

    正在将任务详细信息保存到数据库中,但未保存任务之间的链接详细信息

  11. 11

    超链接还是跳到同一列中的另一行?

  12. 12

    将一列文字网址转换为Shiny中的活动超链接

  13. 13

    如果满足多个条件,如何使用VBA将某些行详细信息复制到新工作表中?

  14. 14

    超链接将结果从一列返回到另一列

  15. 15

    是否可以将水晶报表的节详细信息中的三行转换为三列

  16. 16

    将ForeignKey记录链接到其在Django Admin中的详细信息视图?

  17. 17

    将ForeignKey记录链接到其在Django Admin中的详细信息视图?

  18. 18

    如何将鼠标焦点设置到WPF数据网格的行详细信息?

  19. 19

    使用PHP将数据从可点击表格行传递到详细信息页面

  20. 20

    Codeigniter通过链接获取行详细信息(foreach)

  21. 21

    将多个文件复制到远程位置,并在Powershell中显示进度详细信息

  22. 22

    C#LINQ:将详细信息对象投影到摘要对象中

  23. 23

    根据所选选项的数量将表单的详细信息插入到MySQL表中

  24. 24

    无法将数据从集合视图传递到 Xcode 中的详细信息视图

  25. 25

    如何将信息复制到与另一列中对应的列中?

  26. 26

    如何将信息复制到与另一列中对应的列中?

  27. 27

    将数据从母版传递到详细信息页面

  28. 28

    如何将一列带有超链接的文本转换为 Excel 中的文本 URL?

  29. 29

    从表行到详细信息的AJAX请求

热门标签

归档