通过单击标题禁用 tablesorter 排序,但仍支持按下拉选项排序
Posted
技术标签:
【中文标题】通过单击标题禁用 tablesorter 排序,但仍支持按下拉选项排序【英文标题】:Disbale tablesorter from sorting by clicking on header but stil support sort by drop down option 【发布时间】:2012-08-13 03:05:42 【问题描述】:我在 *** 中找到了这个例子。这很有帮助。
http://jsfiddle.net/Mottie/Yke6M/
目前它允许两种方式对表格内容进行排序:
1) 通过单击每个表格标题进行排序 2) 通过选择下拉选项对表格进行排序。
我的要求只是用下拉菜单排序。 我想通过单击表头来删除排序功能。
我可以禁止点击标题吗?
我猜我可以在表格标题中添加一些 CSS,使其无法点击。但我不知道css中是否有类似的东西。
谢谢
【问题讨论】:
【参考方案1】:您需要做的就是将每一列的排序器设置为 false:
$('table').tablesorter(
headers :
0 : sorter: false ,
1 : sorter: false ,
2 : sorter: false ,
3 : sorter: false
);
这会禁用手动排序,但您仍然可以触发排序,因此外部下拉菜单仍然有效 (demo)。
或者,如果您使用的是我的 tablesorter on github 分支,您只需将类名 sorter-false
添加到标题 (demo):
<th class="sorter-false">Alphabetic</th>
<th class="sorter-false">Numeric</th>
<th class="sorter-false">Animals</th>
<th class="sorter-false">Sites</th>
【讨论】:
我也在做同样的事情,我什至从 Fiddle 复制了代码,但是在设置 sorter : false 后,它也会在下拉列表中禁用排序。 更新...这很奇怪我用了你的 tablesorter 叉子,它开始工作了...谢谢你是个天才!!!【参考方案2】:嗯,这是一种 hack。我创建了必须对其进行排序的重复行。我把它们藏起来了。所以现在我在我显示的所有行上都禁用了排序。
因为我有相同的列作为隐藏的重复项,所以我可以进行排序,也没有人可以通过单击表头进行排序
【讨论】:
以上是关于通过单击标题禁用 tablesorter 排序,但仍支持按下拉选项排序的主要内容,如果未能解决你的问题,请参考以下文章
使用 ajax 时,Tablesorter 禁用分页器按钮不起作用
使用javascript的tablesorter(js)分页