我无法使用以下代码让 colvis 工作:
var colvis = new $.fn.dataTable.ColVis( table );
如果我使用 Dom 中的“C”选项初始化 colVis,它就可以工作。
在此处查看问题的实时示例:http: //live.datatables.net/idinat/115/
我无法使用以下代码让 colvis 工作:
var colvis = new $.fn.dataTable.ColVis( table );
如果我使用 Dom 中的“C”选项初始化 colVis,它就可以工作。
在此处查看问题的实时示例:http: //live.datatables.net/idinat/115/
我猜你有这个例子的代码 - > http://datatables.net/release-datatables/extensions/ColVis/examples/new_init.html
在您的代码中,您缺少.info
<div>
-><div class="info">...</div>
var table = $('#example').DataTable();
var colvis = new $.fn.dataTable.ColVis( table );
$( colvis.button() ).insertAfter('div.info');
当您C
在dom
选项字符串中初始化 dataTables 时,dataTables 会自动初始化ColVis
并插入ColVis
按钮。如果不是,您必须以编程方式创建并ColVis
以编程方式插入按钮。
因此,在您的情况下,答案是尽管按钮不可见,但它正在工作,因为它位于不存在的元素之后。而不是.info
在您自己的.container
or之前插入,而不是插入<table>
:
$( colvis.button() ).insertAfter('div.container');
$( colvis.button() ).insertBefore('#example');
等,或将按钮插入数据表控件本身:
$( colvis.button() ).prependTo('#example_wrapper');
dataTables 总是使用 id 创建一个包装器<table_id>_wrapper
。