2016-05-14 85 views
0

我想显示/隐藏列使用开关按钮(输入复选框)的引导程序在DataTables ..我创建了一个功能链接工作显示/隐藏列,但当我申请的类和数据列他们不复选框 ..工作 的JavaScript是这样的:DataTables - 隐藏/显示列

   $('.toggle-vis').on('click', function (e) { 
 
        e.preventDefault(); 
 

 
        // Get the column API object 
 
        var column = table.column($(this).attr('data-column')); 
 

 
        // Toggle the visibility 
 
        column.visible(!column.visible()); 
 
       });
<a class="toggle-vis" data-column="7">Colina</a> 
 
<input type="checkbox" data-column="0" class="toggle-vis" onchange='OnOff(this, "Carboidrati");' data-label-text="Carboidrati" checked>

+2

发布无效的代码,呈现的页面不太有用 – Oliver

+0

您必须在可见性和复选框中包含您的“默认”状态。它们充当您创建状态变化的参考。如果你遵循基本规则,通常'切换'效果很简单。 – Sparky256

+0

该复选框可见并且状态被检查 – LuigiMdg

回答

1

Wowser,这是很有趣的研究!问题是你的事件处理:以“听”到你需要听switchChange.bootstrapSwitch事件开关,改变你的代码来听那个,而不是click应该解决您的问题:

$('.toggle-vis').on('switchChange.bootstrapSwitch', function(event, state) { 
    event.preventDefault(); 
    var column = table.column(~~$(this).attr('data-column')); 
    column.visible(! column.visible()); 
}); 

工作JSFiddle,希望有所帮助。

+0

工作正常!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢!谢谢! :d – LuigiMdg