有人可以告诉我如何在jQuery数据表中获取特定行的特定列吗?
E.g。
var column_value = tablename.row(x).column(y);
在onclick
事件中有很多选择行数据的示例。但我在这里请求的是一种以编程方式选择行和列的方法,无需用户点击特定行。
答案 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/ 强>