Jatery Datatables получают абсолютный индекс родительского столбца - PullRequest
0 голосов
/ 05 декабря 2018

Я написал встроенный плагин фильтрации столбцов для таблиц данных, и у меня возникла небольшая проблема,

Я создал текстовые входы в нижнем колонтитуле каждого столбца, и теперь - при вводе ключей я хочу перехватить их индексы и затем использовать их.при фильтрации.

Я получаю индекс родительского столбца по следующей строке в моем коде:

var visIdx = $(this).parent().index();

Правильно возвращается индекс только тогда, когда ВСЕ столбцы видны, но когда один из них скрыт, затем следующие столбцы возвращают неверные индексы.

Это приводит к тому, что когда некоторые столбцы скрыты, фильтрация применяется к плохим столбцам

Мой полный код на скрипте: http://live.datatables.net/pulewemu/3/edit?js,console,output

1 Ответ

0 голосов
/ 05 декабря 2018

Дело в том, что DataTable создает новые элементы для каждого draw().То, что вы видите, - это не ваша «оригинальная» таблица с некоторыми скрытыми столбцами, а совершенно новый набор элементов, включающий только «видимые» столбцы.

Так что нет способа получить «абсолютный» индекс изтам.

Я предлагаю добавить этот индекс в атрибут данных в цикле .each(), который определяет входные данные поиска:

$('#example tfoot th').each(function(i) {
    var title = $(this).text();
    var hate = '<input size="4" class="fder" type="text" id="gte" placeholder="min" data-index="'+i+'" />'
    hate += '<br><input size="4" class="fder" type="text" id="lov" placeholder="max" data-index="'+i+'" />'
    $(this).html(hate);
});

И затем, на keyup, получитьиндекс как это:

var visIdx = $(this).data("index");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...