我在Stack Overflow上的第一篇文章。 :)
我有一个jQuery DataTable,带有一个带有复选框的自定义下拉列表“隐藏/显示列”。这些都很完美。但是当我隐藏一个列时,我也希望它不可搜索。当我再次展示它时,我希望它再次可以搜索。这可能吗?
这是我的代码:
$('input[type="checkbox"]', $("#myHideShowDropdown")).change(function () {
// data-column is just the number of the column
var column = oTable.column($(this).attr("data-column"));
column.visible(!column.visible()); // This works
// Here I want to to something like
// column.searchable(!column.searchable())
// but there is no such thing
});
答案 0 :(得分:3)
<强>解强>
要切换列过滤以及可见性,请使用以下代码:
$('input[type="checkbox"]', $("#myHideShowDropdown")).change(function () {
var colIdx = $(this).attr("data-column");
var column = oTable.column(colIdx);
var isVisible = column.visible();
column.visible(!isVisible);
oTable.settings()[0].aoColumns[colIdx].bSearchable = !isVisible;
oTable.rows().invalidate().draw(false);
});
<强>样本强>
请参阅this jsFiddle以获取代码和演示。