【问题标题】:Get row id of a table row after selecting a row and clicking the button in datatables选择行并单击数据表中的按钮后获取表行的行ID
【发布时间】:2016-05-04 09:29:44
【问题描述】:

我想要实现的是显示一个表,并在选择一行后,可以编辑或删除一行(进行适当的查询),所以我需要一个我不想显示的主键。我的桌子是这样的:

<table id='documents_d' class='display'>
    <thead>
        <tr><th>title 1</th><th>title 2</th><th>title 3</th>
    </thead>
    <tbody>
        <tr data-id='1'>
            <td>content</td>
            <td>content</td>
            <td>content</td>
        <tr data-id='2'>
            <td>content</td>
            <td>content</td>
            <td>content</td></tr>
    </tbody>
</table>

我使用以下脚本来运行数据表:

<script>
    $(document).ready(function () {
        var documents_d = $('#documents_d').DataTable({
            paging: true,
            dom: 'Blfrtip',
            colReorder: true,
            select: {style: 'single'},
            rowId: 'Writer',
            buttons: [
                'colvis',
                'excelHtml5',
                {
                    text: 'Edit',
                    action: function () {
                        alert(documents_d.row('.selected').data());
                    }
                }
            ]
        });
    });
</script>

我想运行像editDocument($docID) 这样的函数,而不是警报。所以首先我想选择一行(这工作正常),点击“编辑”后,我想获取“数据ID”并运行一个函数。我试过了:

documents_d.row('.selected').data("data-id")

但这会给我一个错误:

DataTables 警告:表 id=documents_d - 请求的未知参数 '7' 表示第 1 行第 7 列。有关此错误的更多信息,请 见http://datatables.net/tn/4

【问题讨论】:

    标签: javascript php jquery html datatables


    【解决方案1】:

    你可能想要这个:

    $(documents_d.row('.selected').node()).data('id');
    

    但是,还有另一种方法:

    https://datatables.net/reference/option/rowId

    在每个 tr 元素上拥有一个 id 属性通常很有用 DataTable 用于行选择和数据源识别, 尤其是在使用事件时。

    那么你可以使用:

    documents_d.row('.selected').id();
    

    【讨论】:

      猜你喜欢
      • 2017-06-27
      • 2023-03-06
      • 2021-10-16
      • 2013-03-20
      • 2016-03-23
      • 1970-01-01
      • 2017-03-24
      • 1970-01-01
      • 2015-01-28
      相关资源
      最近更新 更多