【发布时间】:2020-09-22 11:16:23
【问题描述】:
我使用 jQuery DataTable 库,我想设置用于从复选框中过滤的列。
在我的例子中,我设置了需要表单复选框的列,如果我选择 I 列,则自动设置为 4,但不设置所需的列。
所以,如果我只选择一列进行过滤,我得到了 4 列,并且没有正确创建过滤器。可能是什么原因?
如上图所示,我设置了站名,但是我没有得到这个过滤器,而是其他4个过滤器,我不明白为什么?
我的代码:JSFiddle
JS:
var idTable = $(".custom-style").attr('id');
var table = $('#' + idTable + '').DataTable();
function addSpliting(val) {
table.destroy();
$(idTable).DataTable({
searchPanes: {
layout: 'columns-4',
},
dom: 'Pfrtip',
columnDefs: [{
searchPanes: {
show: true,
},
targets: ['' + val + ''],
}]
});
}
function setFilters() {
$("table thead tr th").each(function(index) {
var boxes = `<label>
<input type="checkbox" class="checkbox" id="${index}"/>
${$(this).text()}
</label>`
if ($(this).text() != "") $(".checkBoxes").append(boxes);
});
}
setFilters();
$("#createFilter").on("click", function() {
var checkedIds = $(".checkbox:checked").map(function() {
return this.id;
}).toArray();
addSpliting(checkedIds.join(", "));
});
【问题讨论】:
标签: javascript jquery datatable