2016-07-07 79 views
1

Hy,dataTables:刪除所有選擇輸入中的一個

以下多篩選器選擇dataTable適合我的項目。

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

不過,我想刪除所有,但的選擇輸入一個(在表格底部)說:「辦公室」在上面的頁面中選擇輸入,而不是空白應顯示默認標題如「選擇辦公室」。

因爲我對dataTables和JS都很陌生,所以不太瞭解如何使用dataTAbles API來定製它,所以anybuddy可以幫助我。

感謝 DK

+0

@RolandStarke發佈一個答案(mabye有一些解釋);這似乎是他的問題的確切解決方案,我懷疑任何其他的答案會建議以外的任何其他:) –

回答

2

你只需要稍微修改給定的代碼。 相反foreaching每一列有一列這樣做:

/*this.api().columns().every(function() { 
    var column = this; 
})*/ 
var column = this.api().column(2); 

去除空白,顯示類似「之所以選擇辦公室」。您需要將選項的關閉和開啓標籤之間的文本

var select = $('<select><option value="">YOUR TEXT HERE</option></select>') 

這裏是完整的代碼和一個jsfiddle

$(document).ready(function() { 
    $('#example').DataTable({ 
    initComplete: function() { 
     var column = this.api().column(2); 
     var select = $('<select><option value="">Choose Office</option></select>') 
     .appendTo($(column.footer()).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, text: d})); 
     }); 
    } 
    }); 
}); 

編輯: 我也是那樣自由而代之以'<option value="'+d+'">'+d+'</option>'$('<option>', {value: d, text: d})修復xss 漏洞並允許使用"的值。

+0

嗨,你的代碼只適用於更新版本的dataTables(至少它不適用於一個版本的dataTables.js我正在使用),所以我更新了我的js版本到你在小提琴中引用的那個,它工作。另外,請注意刪除頁腳中未使用的列標題或未選擇的對象。 – dkjain

+0

@dkjain很高興聽到它的工作。我使用了您提供的鏈接版本。 –

相關問題