Я новичок в jQuery, и мне нужно знать, есть ли способ отключить фильтрацию для одного из столбцов в моем jQuery datatable? У моего datatable есть 5 столбцов, и мне нужно отключить фильтрацию для последнего столбца.
Как отключить фильтрацию на одном столбце и сохранить его для других столбцов в jQuery Datatable?
Ответ 1
Использовать флаг bSearchable
. Из документов:
// Using aoColumnDefs
$(document).ready( function() {
$('#example').dataTable( {
"aoColumnDefs": [
{ "bSearchable": false, "aTargets": [ 0 ] }
] } );
} );
// Using aoColumns
$(document).ready( function() {
$('#example').dataTable( {
"aoColumns": [
{ "bSearchable": false },
null,
null,
null,
null
] } );
} );
Ответ 2
var mSortingString = [];
var disableSortingColumn = 4;
mSortingString.push({ "bSortable": false, "aTargets": [disableSortingColumn] });
$(document).ready(function () {
var table = $('#table').dataTable({
"paging": false,
"ordering": true,
"info": false,
"aaSorting": [],
"orderMulti": true,
"aoColumnDefs": mSortingString
});
});
Я потратил годы, пытаясь понять это, что должно было быть простой задачей, поэтому для тех, кто все еще ищет просто добавить в верхние 3 строки и указать, какой столбец вы хотите отключить, мой столбец 5.
Ответ 3
Также вы можете сделать это следующим образом:
$('#ProductsTable').dataTable({
"lengthMenu": [[20, 50, -1], [20, 50, "All"]],
"pageLength": 20,
"columnDefs": [
{ "orderable": false, "targets": [-1, 1] },
{ "searchable": false, "targets": [-1, 1] }
]
});
Ответ 4
Это также работает. Просто измените номер 4 на нужный номер столбца:
var table = $('#mytable').DataTable(
{
initComplete: function () {
this.api().columns().every(function () {
var column = this;
if (column[0][0] == 4) {
console.log(column);
$(column.footer()).html('');
}
});
},
}
);
Ответ 5
Здесь как отключить глобальную фильтрацию поиска по нескольким столбцам с помощью Datatable ColumnDef.
var datatable = $('#datatable').DataTable({
"deferRender": true,
"columnDefs": [
{ targets: 0, searchable: true },
{ targets: [1,2], searchable: true },
{ targets: '_all', searchable: false }
]
});
Это позволит выполнять поиск по столбцам 0, 1 и 2 по индексу и отключать остальные. Правила применяются сверху вниз, принимая приоритет.