0

我无法使用以下代码让 colvis 工作:

var colvis = new $.fn.dataTable.ColVis( table );

如果我使用 Dom 中的“C”选项初始化 colVis,它就可以工作。

在此处查看问题的实时示例:http: //live.datatables.net/idinat/115/

4

1 回答 1

2

我猜你有这个例子的代码 - > 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');

当您Cdom选项字符串中初始化 dataTables 时,dataTables 会自动初始化ColVis并插入ColVis按钮。如果不是,您必须以编程方式创建ColVis以编程方式插入按钮。

因此,在您的情况下,答案是尽管按钮不可见,但它正在工作,因为它位于不存在的元素之后。而不是.info在您自己的.containeror之前插入,而不是插入<table>

$( colvis.button() ).insertAfter('div.container');
$( colvis.button() ).insertBefore('#example');

等,或将按钮插入数据表控件本身:

$( colvis.button() ).prependTo('#example_wrapper');

dataTables 总是使用 id 创建一个包装器<table_id>_wrapper

见演示-> http://jsfiddle.net/vr5QL/

于 2014-08-02T09:07:19.207 回答