Подтвердить что ты не робот

JQuery dataTables - получить значения столбца фильтра

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

mtTable.columns().each(function() {
    mtTable.column(22).search(searchVal, true, true).draw();
});

Теперь я пытаюсь получить все значения столбцов после выполнения поиска, однако я не могу найти функцию для этого. В настоящее время я использую api

var myTable = $("#tblResults").DataTable();
var resultsArray = myTable.columns(colIndex).data();

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

4b9b3361

Ответ 1

Вы можете прочитать все о передовых таблицах selector-modifiers здесь → http://datatables.net/reference/type/selector-modifier

Если вы хотите получить только отфильтрованные строки:

table.rows( { search:'applied' } ).data().each(function(value, index) {
    console.log(value, index);
});

Чтобы настроить таргетинг на определенный столбец и получить только отфильтрованные значения (ваш конкретный запрос) - здесь все отфильтрованные значения из столбца # 2:

table.column(2, { search:'applied' } ).data().each(function(value, index) {
    console.log(value, index);
});

См. демонстрацию с обоими → http://jsfiddle.net/q0e1bdcz/

Чтобы создать массив по отфильтрованным значениям для определенного столбца:

var array = [];
table.column(2,  { search:'applied' } ).data().each(function(value, index) {
    array.push(value);
});
console.log(array);

См. демонстрацию → http://jsfiddle.net/q0e1bdcz/1/

Ответ 2

Вы также можете получить уникальные и отсортированные данные, если у вас больше количества записей.

// Datatable object
var table = $('#example').DataTable();

// Get Unique and Sorted values.  
table.column(3, { search:'applied' } ).data().unique().sort().each(function(value, index) {
    console.log(value, index);
});

Ссылка: http://www.jqueryscript.net/demo/DataTables-Jquery-Table-Plugin/examples/api/multi_filter_select.html

Надеюсь, это тоже поможет.