以编程方式选择特定的jQuery数据表列值

时间:2014-08-01 08:19:23

标签: select row jquery-datatables

有人可以告诉我如何在jQuery数据表中获取特定行的特定列吗?

E.g。

var column_value = tablename.row(x).column(y);

onclick事件中有很多选择行数据的示例。但我在这里请求的是一种以编程方式选择行和列的方法,无需用户点击特定行。

1 个答案:

答案 0 :(得分:1)

我想这些示例主要关注最常见的用法,例如在点击的特定行上工作,这也演示了如何使用cell-selector。基本上你可以传递一个字符串,一个对象,一个节点等,比如

table.cell('tbody tr:nth-child(7) td:nth-child(2)');
table.cell(this);
table.cell($('#column'));

但实际上你也可以使用

,这是非常糟糕的记录
var column_value = table.cell(6,1).data();

这似乎是你正在寻找的。请注意cell(row,col)返回基础HTML表中的值,而不是从动态表返回值的cell(selector),例如排序和过滤。当您知道原始表中列的精确索引时,Cells(row,col)非常方便。您可以控制表格的整个内容,如下所示:

for (var y=0;y<rowCount;y++) {
   for (var x=0;x<colCount;x++) {
      console.log(table.cell(y,x).data());
   }
} 

您可以像这样更改列的内容:

table.cell(y,x).data('new content')

还要记住,与{jQuery选择器不同,cell从零开始。 table.cell(6,1).data()的对应部分是

var value = table.cell('tbody tr:nth-child(7) td:nth-child(2)').data();

等于

var value = $('#example tbody tr:nth-child(7) td:nth-child(2)').html();

返回动态数据时,table.cell(6,1).data()将返回未排序的未过滤值。

上面的例子可以在这里看到 - &gt;的 http://jsfiddle.net/z95Br/