У меня есть рендеринг таблицы правильно, и я использую фиксированный верхний и нижний колонтитулы и обработку на стороне сервера. Я добавил индивидуальный поиск столбцов (текстовые входы) в зависимости от того, что я нашел here. Однако независимо от того, какой ящик фильтра я набираю во всех них, поиск выполняется только по идентификатору (первый столбец), а не по столбцу, в котором они находятся.Мой индивидуальный поиск столбцов в DataTables не работает
Вот как я инициализировать DatatTable:
$(document).ready(function() {
// Setup - add a text input to each footer cell
$('#DataTable tfoot th').each(function() {
var title = $(this).text();
$(this).html('<input type="text" placeholder="Search ' + title + '" />');
});
var table = $('#DataTable').DataTable({
"lengthMenu" : [[25, 50, 75, 100, 150], [25, 50, 75, 100, 150]],
"dom" : '<"top"Bilp<"clear">>rt<"bottom"ip<"clear">>',
"buttons" : [{
extend : 'collection',
text : 'Selection',
buttons : ['selectAll', 'selectNone']
}, {
extend : 'collection',
text : 'Export',
buttons : ['excel', 'csv', 'pdf']
}
],
"fixedHeader" : {
header : true,
footer : true
},
"select" : true,
"processing" : true,
"serverSide" : true,
"ajax" : {
"url" : "./ServerSide.php",
"type": "POST"
},
initComplete: function() {
var api = this.api();
// Apply the search
api.columns().every(function() {
var that = this;
$('input', this.footer()).on('keyup change', function() {
if (that.search() !== this.value) {
that
.search(this.value)
.draw();
}
});
});
}
});
});
я делаю что-то неправильно с этим?
Спасибо за помощь! Это заставило меня указывать в правильном направлении. Я обнаружил, что мне нужно добавить '[' и ']' вокруг имен столбцов в части фильтрации, которую я делал. Без этого он не выполнял первый столбец (идентификатор). Поскольку у всех моих имен столбцов есть [] вокруг них, некоторые из них имеют пробелы, я должен был добавить это к запросу тоже. – Mike