[jq] datatables获取指定行数据


DataTables获取选中行数据 报错 table.fnGetNodes is not a function

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
解决办法
修改前:
var table = $('#example').DataTable();
修改后:
var table = $('#example').dataTable();

将.DataTable();大写的D改成小写的d就可以使用 fnGetNodes();
$('#example').on('click', function () {
var tableSettings = oTable.fnSettings();
//当前每页显示多少
var paging_length = tableSettings._iDisplayLength;
//当前页开始
var page_start = tableSettings._iDisplayStart;
//得到页数值比页码小1
var page = (page_start / paging_length);

console.log("tableSettings", tableSettings);
console.log("paging_length", paging_length);
console.log("page_start", page_start);
console.log("page", page);
});

datatables获取指定行数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$('#example').dataTable({
  "columns": [
{
"data": "name",
"orderable": false,
"searchable": false,
"render": function(data, type, row, meta) {
return '<button id="btnEdit" data-rowindex="'+meta.row+'">编辑</button>';
}
},]
});

然后根据元素取出行号
var rowIndex = $('#btnEdit').attr('data-rowindex');
最后获取数据
$('#example').DataTable().rows(rowIndex).data()[0];

如果是单击单元格获取数据,示例如下:

1
2
//单击首列,获取该列中单元格数据
$('#example tr td:first-child').click(function(){ alert($(this).text()) });