Динамически создавать нижний колонтитул для DataTables со скроллером — вставлены два нижних колонтитула

У меня есть DataTable, который получает определения своих столбцов и данные в вызове Ajax. Приведенный ниже пример и jsbin упрощены и предназначены только для иллюстративных целей, но, по сути, я настраиваю фильтрацию отдельных столбцов, за исключением определенных столбцов (на основе определений этих столбцов). DataTables имеют пример фильтрации отдельных столбцов в

https://datatables.net/examples/api/multi_filter.html

Это работает хорошо, но когда я изменяю инициализацию таблицы и добавляю вертикальный скроллер, я получаю два нижних колонтитула — один в dataTables_scrollBody, а другой в dataTables_scrollFoot.

Для определенных ячеек в нижнем колонтитуле я хочу отключить фильтрацию столбцов и вместо этого применить пользовательский поиск, и я делаю это, применяя класс к этим ячейкам. В примере, который я настроил, это класс customSearch. Когда я добавил вертикальный скроллер, мой пользовательский поиск перестал работать, потому что мой $('.customSearch').val() больше не находит значение, введенное в ячейку. Именно тогда я проверил длину и понял, что селектор возвращает два элемента, а не один, как это происходит до включения вертикальной прокрутки.

Надеюсь, вышеизложенное имеет смысл, но вкратце....

Таблица с верхними и нижними колонтитулами создается динамически на основе вызова Ajax. Фильтрация отдельных столбцов работает, но когда я изменяю инициализацию DataTable, чтобы добавить вертикальную прокрутку, вставляются два нижних колонтитула, и это прерывает мой пользовательский поиск. Я неправильно настроил таблицу или почему у меня два нижних колонтитула?

Пример установки можно найти на

https://jsbin.com/madenupuzi/

Заранее спасибо за помощь


person c95mbq    schedule 01.07.2019    source источник


Ответы (1)


Я забыл, что разместил это, но я также разместил сообщение на форуме datatables, где мне сказали, что это то, что происходит при использовании скроллера и как таблица вставляется в верхний, основной и нижний колонтитулы. Мне сказали, что для получения исходного нижнего колонтитула нужно использовать table().footer(), и это действительно сработало.

person c95mbq    schedule 03.10.2019