Если вы под словом «поиск» подразумеваете DataTables внутри DataTables, вы можете использовать обратный вызов createdRow
для инициализации таблиц внутри столбцов <tr>
.
Для того, чтобы компенсировать отсутствующие <thead>
во вложенных таблицах (исключая ошибку TypeError: col не определена ошибка):
const columns = [
{ title: '' },
]
Инициировать вложенные таблицы в обратном вызове createdRow
:
let table = $('#example').DataTable({
createdRow: function(row) {
$(row).find('td table')
.DataTable({
columns: columns,
dom: 'tf'
})
}
})
Обратите внимание на раздел dom
. Здесь показаны только сама таблица и поле фильтра. Вы можете удалить заголовок с помощью
table.dataTable td table thead {
display: none;
}
Не добавляйте это CSS, если вы хотите сортировать столбцы во вложенных таблицах.
демонстрация с использованием рассматриваемой разметки -> http://jsfiddle.net/davidkonrad/8pzkr6yn/
Обновление . Если вас интересует только возможность поиска по содержимому вложенных таблиц (например, разметка HTML), просто определите соответствующие столбцы type
как 'html'
(https://datatables.net/reference/option/columns.type) :
let table = $('#example').DataTable({
columnDefs: [
{ targets: [2,3,4,5,6,7], type: 'html' },
],
...
})