数据表& JQuery - 使每一行可单击或链接

时间:2014-08-17 05:10:53

标签: jquery coldfusion datatables

我需要一些帮助,以了解如何使每一行"可点击"与数据表......

服务器端,我使用Coldfusion来处理查询等。我在Datatables.net呈现的表中显示有关人员的信息。

help pages说我应该使用DOM / jQuery Event hander,如下所示:

    $(document).ready(function() {
    $('#example').dataTable();

    $('#example tbody').on('click', 'tr', function () {
        var name = $('td', this).eq(0).text();
        alert( 'You clicked on '+name+'\'s row' );
    } );
} );

所以,这似乎是我想要采取的路线,但我个人对jQuery并不熟悉,以方便我想做的事情......

而不是"警告",什么功能,方法或过程将允许我将我的行中的数据发送到新页面?

换句话说,如何获取所选行内的数据,并将其输出到新页面?

为您提供一个实际示例:1)服务台技术人员单击包含员工的行,2)关于行中包含的所选员工的信息,并将其发送到新页面,如表单提交,或者URL变量... 3)存在重置密码或解锁帐户的选项。

我们非常感谢您的帮助,并提前感谢您。

2 个答案:

答案 0 :(得分:6)

在该功能中,您可以像这样呼叫data()

$(document).ready(function() {
    var table = $('#example').DataTable();

    $('#example tbody').on('click', 'tr', function () {
        var data = table.row(this).data();
        console.log(data);
    });
});

以下是文档:https://datatables.net/reference/api/row().data()

有关其他信息,请回答here is a good read

答案 1 :(得分:3)

您可以使用数据表的fnRowCallback事件并将click事件绑定到每一行。

    var oTable = $('#data').dataTable({
          "fnRowCallback": function (nRow, aData, iDisplayIndex) {

                // Bind click event
                $(nRow).click(function() {

                      alert( 'You clicked on '+aData.name+'\'s row' );

                });

                return nRow;
           }
    });

您将从aData参数获取每一行的数据。