以下多篩選器選擇dataTable適合我的項目。
https://datatables.net/examples/api/multi_filter_select.html
不過,我想刪除所有,但的選擇輸入一個(在表格底部)說:「辦公室」在上面的頁面中選擇輸入,而不是空白應顯示默認標題如「選擇辦公室」。
因爲我對dataTables和JS都很陌生,所以不太瞭解如何使用dataTAbles API來定製它,所以anybuddy可以幫助我。
感謝 DK
以下多篩選器選擇dataTable適合我的項目。
https://datatables.net/examples/api/multi_filter_select.html
不過,我想刪除所有,但的選擇輸入一個(在表格底部)說:「辦公室」在上面的頁面中選擇輸入,而不是空白應顯示默認標題如「選擇辦公室」。
因爲我對dataTables和JS都很陌生,所以不太瞭解如何使用dataTAbles API來定製它,所以anybuddy可以幫助我。
感謝 DK
你只需要稍微修改給定的代碼。 相反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 漏洞並允許使用"
的值。
嗨,你的代碼只適用於更新版本的dataTables(至少它不適用於一個版本的dataTables.js我正在使用),所以我更新了我的js版本到你在小提琴中引用的那個,它工作。另外,請注意刪除頁腳中未使用的列標題或未選擇的對象。 – dkjain
@dkjain很高興聽到它的工作。我使用了您提供的鏈接版本。 –
@RolandStarke發佈一個答案(mabye有一些解釋);這似乎是他的問題的確切解決方案,我懷疑任何其他的答案會建議以外的任何其他:) –