2015-12-14 56 views
0

使用DataTables Multi Filter Select切換在頭VS頁腳顯示,我想保留標題欄標題到位或至少在我的選擇列表中的第一個選項:DataTables多重過濾器選擇列中的列標題?

<option value="" disabled selected hidden>THIS COL HEADER TITLE</option> 

不過,我無法獲取列標題。

這裏是過濾器:

$('#requests-table').DataTable({ 
     pagingType: "full_numbers", 
     bSort: false, 
     initComplete: function() { 
      //console.log(this.api().columns()); 
      var columns = this.api().columns(); 
      columns[0].shift(); 
      //console.log(this.api().columns()); 
      columns.every(function() { 
       var column = this; 
       //console.log(this); 
       var select = $('<select class="max-width-100"><option value=""></option></select>') 
        .appendTo($(column.header()).empty()) 
        .on('change', function() { 
         var val = $.fn.dataTable.util.escapeRegex(
          $(this).val() 
         ); 

         column 
          .search(val ? '^' + val + '$' : '', true, false) 
          .draw(); 
        }); 

       column.data().unique().sort().each(function(d, j) { 
        select.append('<option value="' + d + '">' + d + '</option>') 
       }); 
      }); 
     } 
    }); 

這似乎是答案:

var idx = table.cell(this).index().column; 
    var title = table.column(idx).header(); 

...但我不能讓它在這裏工作。

我會再有我的選擇,像這樣每個山坳日:

<option value="" disabled selected hidden>'+ title +'</option> 

想法或幫助?

回答

0

更換

var select = $('<select class="max-width-100"><option value=""></option></select>') 

var select = $('<select><option value="">' + $(this.header()).html() + '</option></select>')