HY,
以下多重过滤器选择dataTable适合我的项目。
https://datatables.net/examples/api/multi_filter_select.html
但是,我想删除除一个选择输入之外的所有选项(在表格的底部),在上面的页面中说“Office”选择输入而不是空白应该显示默认标题,如“选择办公室”。
由于我对dataTables和JS都很陌生,所以我不太了解如何使用dataTAbles API来定制它,所以anybuddy可以帮助我。
由于 DK
答案 0 :(得分:2)
您只需稍微修改给定的代码即可。 而不是预先对每一列进行操作,而不是一列:
/*this.api().columns().every( function () {
var column = this;
} )*/
var column = this.api().column(2);
删除空白并显示“Chose Office”之类的内容。您需要将文本放在选项
的结束标记和开始标记之间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
漏洞并允许使用"
的值。