Я использую базовую видимость столбцов и поиск по отдельным столбцам (ввод текста) .
Проблема в том, что когда пользователь добавляет ранее скрытый столбец в таблицу, текстовое поле для этого столбца не появляется. Таким образом, пользователь не может отфильтровать этот столбец.
Кто-нибудь знает, как включить фильтры для скрытых столбцов? В идеале это не приведет к побочному результату очистки текста в других фильтрах (если пользователь вводит текст в других фильтрах).
Вот мой код фильтрации:
<script type="text/javascript">
$(document).ready(function() {
// Setup - add a text input to each footer cell
$('#tableID tfoot th').each( function () {
var title = $(this).text();
if ((title != '') && !(title.includes("$"))) {
// Then the current column is *not* the Action column.
$(this).html( '<span style="color: #515151; font-size:15px;"><i>Filter</i></span> <br> <input type="text" style="margin-top:10px;" placeholder="'+title+'" /> ' );
}
} );
var table = $('#tableID').DataTable();
// Apply the search
table.columns().every( function () {
var that = this;
$( 'input', this.footer() ).on( 'keyup change', function () {
if ( that.search() !== this.value ) {
that
.search( this.value )
.draw();
}
});
} );
} );
</script>
Я использую эту строку, чтобы скрыть столбцы, которые я хочу скрыть от просмотра по умолчанию:
(table.column('.hideCol')).visible(false);