Выбрать значение по столбцам - PullRequest
0 голосов
/ 12 февраля 2019

Я нахожусь в ситуации, когда мне нужно выбрать строку в таблице данных, строки которой отображаются группами по 10, зная значение этого столбца.Я уже использую следующее для выбора первой строки в другом случае.

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

Я уже пробовал следующее:

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

безуспешно ... Любая помощь?

1 Ответ

0 голосов
/ 12 февраля 2019

Вы немного перепутали с селекторами, это должно быть:

myGroupTable.row(`:has(td:eq(0):contains("${value}"))`).select();

Для ссылки на строку, в которой имеет в первом столбце 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...