如何在javascript中通过列ID更改列可见性
How to change column visibility by Column ID in javascript?
我想使列在选中复选框时可见。我有这个函数:
function SaveTableSettings() {
var notChecked = [], checked = [];
var table = $('#data-table');
$(":checkbox").each(function() {
if(this.checked){
checked.push(this.id);
} else {
notChecked.push(this.id);
}
});
我想使用"checked"数组的元素,并通过这个函数改变相应列的可见性:
if (dataTableId == "data-table"&&toShow.length<1) {
alert("in if");
table.column(1).visible(false);
table.column(2).visible(false);
table.column(3).visible(false);
table.column(4).visible(false);
} else {
for (i = 0; i < toShow.length; i++) {
}
}
其中"toShow"是与"checked"相同的数组,我将其作为参数传递给它。我想让数组中的列可见,但我不知道在for循环中该怎么做。感谢您的帮助
您可以使用Buttons扩展来实现这个目的,更准确地说,您应该使用Buttons的列可见性插件。
下面是基本用法示例:
$(document).ready(function() {
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
'colvis'
]
} );
} );
必须包含相关的JavaScript文件,例如:
- https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js
- https://cdn.datatables.net/buttons/1.0.3/js/dataTables.buttons.min.js
- https://cdn.datatables.net/buttons/1.0.3/js/buttons.colVis.min.js
或者,使用下载生成器并包含带有按钮和列可见性模块的数据表。
p。如果你使用旧的数据表(1.9)。你应该使用ColVis扩展名
没有标记/HTML就很难调试代码,但对我来说,这似乎是在试图用大锤敲开坚果。
代替id
的(?),只需使用一个属性将复选框绑定到某个列:
<input type="checkbox" data-column="0" checked/>
在你的SaveTableSettings()
或其他地方:
$("[data-column]").each(function() {
table.column($(this).data('column')).visible($(this).is(':checked'));
})
一个小演示-> http://jsfiddle.net/c0o48jmv/1/
以上可以很容易地更改为针对id
而不是列索引。只需将id
's添加到<th>
's
<th id="col0">columnHeader</th>
和参考那些id
的索引,而不是索引
<input type="checkbox" data-column="#col0" checked/>
http://jsfiddle.net/d9q06cg0/
相关文章:
- D3在一个调用中绘制不同的SVG形状,没有可见性
- jQuery css可见性在load方法中不起作用
- 页面可见性API实际上支持操作系统屏幕锁定吗
- 有没有一种方法可以从隐藏的可见性(CSS,JS)中获得淡入效果
- JavaScript可见性不起作用('隐藏'起作用,'可见'不起作用)
- 从内部回调的可见性
- Openlayers 3为了可见性而绑定到Vector层的复选框没有任何作用
- 在另一个下拉列表中的选择上切换下拉列表中选项的可见性
- 如何禁用mouseout可见性=“;隐藏的“;对小于768px的介质的影响
- 在网格视图的自动刷新过程中,设置内部网格视图文本框的可见性
- 将元素的可见性绑定到另一个元素
- 使用 Javascript 将 HTML 页面中的默认可见性从可见更改为隐藏
- 使用 jQuery 检查文本可见性 .包含代码的行为不符合预期
- 在 jQuery 手风琴样式菜单中切换子项可见性
- CSS 中定义的可见性值未显示在 Javascript 中
- jquery切换可见性
- 如何使用 asp.net 中的另一个下拉列表更改下拉列表选定的索引和可见性
- 使用javascript的图像可见性
- 如何在 js 中捕获 win8 Metro 应用的可见性更改/应用后台事件
- 如何在javascript中通过列ID更改列可见性