gpt4 book ai didi

javascript - 切换 jquery DataTables 列是否可排序

转载 作者:行者123 更新时间:2023-12-03 10:39:34 24 4
gpt4 key购买 nike

我已经看到了很多关于如何使用可排序或不可排序的某些列来初始化 DataTable 的信息。但是,我无法弄清楚在表初始化后对列禁用/启用排序。我发现了一种非常 hacky 的方法来做到这一点,但是有没有正确的方法来使用 API 来做到这一点?

我的技巧是瞄准th,复制点击事件,取消绑定(bind)它,然后重新绑定(bind)它,就像这样

var _click=$._data($('#myTH')[0],"events").click[0];
$('#myTH').unbind("click");
//do some stuff
//reattach
$('#myTH').bind("click",_click);

简单的解除绑定(bind)非常适合将其关闭并保持关闭状态,但我需要能够多次切换它。我不喜欢我的解决方案,因为

  1. $._datajQuery 内部组件,不应依赖,
  2. 似乎应该有一种简单的方法可以使用标准 DataTables API 来实现此目的

我使用的是1.10版本

最佳答案

如果您的列是由 JSON 对象定义的,您可以将 bSortable 设置为 true 或 false。我只是在服务器上动态进行了更改,但我认为没有什么可以阻止您在客户端上执行此操作并重新绘制表格。

JSON 格式的列看起来像

var columns = [{"bSortable":false,"sWidth":"80px","sTitle":"Fancy Column 1 Title","mData":"Id"},{"bSortable":false,"sWidth":"80px","sTitle":"Fancy Column 2 Title","mData":"name"}]

table = $j('#datatable').dataTable({
'sPaginationType': 'custom',
'aoColumns': columns});

关于javascript - 切换 jquery DataTables 列是否可排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28842747/

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