Получение индексов выбранных столбцов (таблицы данных ColVis)

#javascript #jquery #jquery-datatables

#javascript #jquery #таблицы данных

Вопрос:

Я использую плагин jQuery DataTables ColVis для отображения таблиц. Мне нужно получить массив индексов столбцов, которые пользователь выбрал для отображения (эта информация будет использована для создания настраиваемой таблицы для экспорта).

Например: пользователь выбирает отображение только браузера и платформ из здесь таблицы. Мне нужно получить [1,2].

Есть идеи?

Ответ №1:

РЕДАКТИРОВАТЬ ПРЕДЫДУЩИЙ ОТВЕТ

Я нашел лучший способ, используя datatables API:

     //You have to pass the datatable object. 
//in the case of your example you should pass $('#example').dataTable();
    var fnGetVisibleColumns = function(oTable) {
    var counter = 0;
    aColumns = new Array();
    $.each(oTable.fnSettings().aoColumns, function(c){
        if(oTable.fnSettings().aoColumns[c].bVisible == true){
            aColumns.push(counter)
         }
        counter  ;
    });
    return aColumns;
    }

//Now you can do var aVisibleColumns = fnfnGetVisibleColumns($('#example').dataTable());
//aVisibleColumns is [1,2] if the user displays only "browser" and "platform" columns