我处于需要在数据表中选择一行的情况,该行以10组为一组显示,知道其列的值。 在其他情况下,我已经使用以下内容选择了第一行。
myGroupTable.row(':eq(0)', { page: 'current' }).select();
我已经尝试了以下方法:
myGroupTable.row('td:eq(0).contains(' + value + ')').select();
没有成功... 有帮助吗?
答案 0 :(得分:0)
您对选择器有些困惑,应该是:
myGroupTable.row(`:has(td:eq(0):contains("${value}"))`).select();
要引用第一行中的{strong>具有的行td:eq(0)
特定值:contains()
更新
这是工作的演示要点:
var srcData = [
{name: 'Wikipedia', descr: 'Free encyclopedia', url: 'https://wikipedia.com/'},
{name: 'GitHub', descr: 'Version tracking system', url: 'https://github.com/'},
{name: 'Stackoverflow', descr: 'Coders community forum', url: 'https://stackoverflow.com/'}
];
var dataTable = $('#mytable').DataTable({
sDom: 't',
data: srcData,
columns: [
{title: 'Name', data: 'name'},
{title: 'Description', data: 'descr'}
]
});
//That's actually the key part :)
var needle = 'Stackoverflow';
console.log(dataTable.rows(`:has(td:eq(0):contains(${needle}))`).data()[0]);
<!doctype html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css">
</head>
<body>
<table id="mytable"></table>
</body>