我正在使用 DataTables 来显示消息列表。
我需要一种方法来根据传递到查询字符串上的页面的 id 获取特定的数据行。
前任。www.webpage.com?id=2
我已经在 jQuery 变量中有 id。现在我只需要访问与该 id 关联的 DataTable 行。
基本上,我需要引用该行,而无需单击它。
有什么建议么?
我正在使用 DataTables 来显示消息列表。
我需要一种方法来根据传递到查询字符串上的页面的 id 获取特定的数据行。
前任。www.webpage.com?id=2
我已经在 jQuery 变量中有 id。现在我只需要访问与该 id 关联的 DataTable 行。
基本上,我需要引用该行,而无需单击它。
有什么建议么?
一种方法是使用fnGetPosition
和fnGetData
var rowIndex = table.fnGetPosition( $("some selector").closest('tr')[0] );
//some selector = should select some hidden element inside a row that
//contains the relevant id
var aData = table.fnGetData( rowIndex );
alert(aData[0]);// will show first column data
这是一个外部按钮的工作jsfiddle 示例,它选择具有特定 ID 的行
另一个在页面加载时选择具有特定 ID 的行的示例(就绪)jsfiddle 示例 N#2
看看函数
$("#wow").click(function() {
var rowIndex = table.fnGetPosition($("#example input[value=\'TridentVal\']").closest('tr')[0]);
alert(rowIndex);
var aData = table.fnGetData(rowIndex);
alert(aData[0]); // will show first column data
});
这是选择具有相关数据的输入的方法...:
$("#example input[value=\'TridentVal\']")
example
是表 id ,将TridentVal替换为所需的 ID
首先,您必须使用 jQuery 获取表格行。
var $rowNode = $('#myTable').find('tbody tr:eq(0)').get(0);
然后你fnGetData
用来获取行数据。
var data = table.fnGetData($rowNode);
fnGetData
接受行节点或整数,因此您也可以将行索引作为参数传递。
如果您使用 TableTools 扩展,那么您可以使用 fnSelect()。从文档:
$(document).ready( function () {
$('#example1').dataTable( {
"sDom": 'T<"clear">lfrtip',
"oTableTools": {
"sRowSelect": "single"
}
} );
// Select the first row in the table automatically
var oTT = TableTools.fnGetInstance( 'example1' );
oTT.fnSelect( $('#example tbody tr')[0] );
});
您当然希望修改选择器,以便它选择具有您的 ID 的行。
fnGetData 现在已过时。这记录了当前版本 https://datatables.net/reference/api/cell().data()中的 cell().data() 访问模式