JQuery Datatables кнопки по умолчанию
У меня есть несколько стилей, которые нужно применить ко всем кнопкам DataTables, чтобы они соответствовали остальным кнопкам на моем сайте. Я могу добавить, что с помощью className
вариант, как показано ниже, но я бы не хотел каждый раз указывать одно и то же.
Ручной пример
$('#myTable').DataTable({
buttons: [
{
text: 'I look like a button',
className: 'icanhazdefalt'
}
]
})
Я вижу в документации, что значение по умолчанию undefined
, Я не смог найти в документах, что вы можете переопределить настройки по умолчанию для этого или других параметров. Это возможно? Что-то вроде:
$.fn.DataTable.Buttons.options.extend({
className: 'icanhazdefalt'
})
Что мне нужно, чтобы иметь возможность установить по умолчанию для самого плагина (а не для конкретного экземпляра). Тогда все экземпляры, которые я создаю на странице, будут иметь значение по умолчанию, которое я указал. Я могу включить скрипт, который устанавливает значение по умолчанию сразу после скрипта плагина (возможно, в файле макета), чтобы мне никогда не приходилось вручную что-либо делать, чтобы все последующие экземпляры имели имя класса по умолчанию (но все же могли переопределить его явно предоставляя его, как показано в "ручном примере" выше).
1 ответ
Использование:
$('#myTable').DataTable( {
buttons: {
buttons: [
{ extend: 'copy', className: 'copyButton' },
{ extend: 'excel', className: 'excelButton' }
]
}
} );
Ссылка: https://datatables.net/reference/option/buttons.buttons.className
РЕДАКТИРОВАТЬ: Там может быть лучший и простой способ сделать это, но это то, что я придумал в данный момент.
//DataTable
var table= $("#myTable").DataTable( {
dom: 'Bfrtip',
buttons: [
{
text: 'I look like a button'
},
{
text: 'I dont'
}
]
} );
//Add class to all buttons
$(table.buttons()).each(function(){
$($(this)[0]["node"]).addClass("sampleClass");
});
Вы также можете изменить выбор кнопок, указав параметр для кнопок (). Смотрите эту ссылку для этого.