テーブルが正しくレンダリングされており、固定ヘッダーとフッターとサーバー側処理を使用しています。私はhereが見つかったことに基づいて個別の列の検索(テキスト入力)を追加しました。しかし、いずれのフィルタボックスに入力しても、ID(最初の列)のみを検索し、存在する列は検索しません。ここでDataTableで検索している個々の列が機能していません
は私が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();
}
});
});
}
});
});
私はこれと間違って何かをやっていますか?
助けてくれてありがとう!それは正しい方向に私を指摘した。私がやっていたフィルタリングの一部で、カラム名の前後に '['と ']'を追加する必要があることが分かりました。それがなければ、それは最初の列(ID)にデフォルト設定されていました。私のColumn名はすべて[]で囲まれているので、その中に空白があるので、それをクエリにも追加する必要がありました。 – Mike