按列选择值

时间:2019-02-12 11:33:08

标签: javascript datatables

我处于需要在数据表中选择一行的情况,该行以10组为一组显示,知道其列的值。 在其他情况下,我已经使用以下内容选择了第一行。

myGroupTable.row(':eq(0)', { page: 'current' }).select();

我已经尝试了以下方法:

myGroupTable.row('td:eq(0).contains(' + value + ')').select();

没有成功... 有帮助吗?

1 个答案:

答案 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>