gpt4 book ai didi

jquery - 使用数据表中的类切换列可见性

转载 作者:行者123 更新时间:2023-12-01 06:39:21 24 4
gpt4 key购买 nike

我知道要使用 dataTables plugin 切换列中的可见性我只需要做:

function fnShowHide( iCol ){
/* Get the DataTables object again - this is not a recreation, just a get of the object */
var oTable = $('#content-table-redesign').dataTable();

var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
oTable.fnSetColumnVis( iCol, bVis ? false : true );
}

但是是否可以使用 ID 或类或其他方式获取列?

问题是,我还允许用户拖放列,如果我按索引,那么他们可能会单击隐藏“id”(第 0 列),但他们将其移到其他地方,现在无论是什么位置 0 被隐藏,而不是“id”位置。

要么就是这样,要么以某种方式欺骗插件仍然链接列索引,无论它移动到哪里。

编辑

这是 HTML,主体基本相同(每个 td 与其父级具有相同的类)

 <table id="content-table-redesign" class="display">
<thead>
<tr>
<th class="ID">ID</th>
<th class="Name">Name</th>
<th class="Domain">Domain</th>
<th class="email">email</th>
</tr>
</thead>
<tbody>

我正在寻找该类,因为包含该类的类将被删除,同样会删除 thead 和 tbody

最佳答案

我认为最简单的答案就是 dataTables 本身不支持此功能,您需要自己根据类手动提取索引。幸运的是,这很容易!

var iCol = $('#content-table-redesign tr').first().children('td.yourclass').index();
var bVis = oTable.fnSettings().aoColumns[iCol].bVisible;
oTable.fnSetColumnVis( iCol, bVis ? false : true );

当然,您的选择器可能需要使用th.yourclass,具体取决于您的表结构。所以它可能会读作:

$('#content-table-redesign thead tr').children('th.yourclass').index();

更新

根据您的 HTML,这是您的选择器:

$('#content-table-redesign thead tr').children('th.ID').index();

您会注意到控制台日志“0”:http://jsfiddle.net/YeAHB/

关于jquery - 使用数据表中的类切换列可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348287/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com