我在 Stack Overflow 上的第一篇文章。 :)
我有一个 jQuery 数据表,带有一个带有复选框的自定义下拉列表“隐藏/显示列”。这些工作完美。但是当我隐藏一列时,我也希望它不可搜索。当我再次显示它时,我希望它可以再次被搜索。这可能吗?
这是我的代码:
$('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
});
最佳答案
SOLUTION
要切换列过滤和可见性,请使用以下代码:
$('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);
});
DEMO
参见this jsFiddle用于代码和演示。
关于jQuery DataTable - 动态初始化后隐藏/显示启用/禁用列过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33402959/