У меня в настоящее время есть таблица данных (версия 1.10.18), загруженная несколькими опциями с помощью js, но мне нужно сделать свой код более пригодным для повторного использования, и я пытаюсь инициализировать свою таблицу данных с помощью атрибутов html5 data- *.
<table id="dataTable" cellspacing="0" width="100%" data-source="ajax.mysource.php">
<thead>
<tr>
<th>Name</th>
<th>Address</th>
<th><i class="fas fa-low-vision"></i></th>
</tr>
</thead>
</table>
мой код jQuery выглядит так:
var dataTable = $('#dataTable').DataTable({
processing: true,
serverSide: true,
ajax: $('#dataTable').data('source'),
columns: [
{ 'data': 'name' },
{ 'data': 'address' },
{ 'data': 'visible' }
],
order: [[ 1, 'asc' ], [ 0, 'asc' ]],
responsive: true,
nowrap: true,
pageLength: 15,
lengthChange: false,
select: 'single',
columnDefs: [
{ targets: 0, width: "110px" },
{ targets: 1, width: "150px" },
{ targets: 1, render: $.fn.dataTable.render.ellipsis(80) },
{ targets: 2, render: $.fn.dataTable.render.visibilityIcon() }
],
rowCallback: function(row, data, index) {
if (data.visible == "0") {
$(row).addClass("notVisible");
}
}
});
Есть несколько общих опций, которые я бы использовал для каждой таблицы данных, но было бы здорово, если бы я мог установить столбцы, columnDefs и rowCallBack непосредственно в моем html, используя атрибуты html5 data- *, чтобы я мог использовать тот же код для разные таблицы, например:
<th data-columns="address" data-column-defs="{targets: 1, width:'150px'}" data-row-callback="function...">Address</th>
Я нигде не нашел, как использовать атрибуты html5- *, кроме порядка, сортировки и длины страницы.
Возможно ли установить эти параметры с помощью html5 с помощью datatables.js?