一个微小的&;用于可排序表的死的简单jQuery插件。
Posted
tags:
中文标题:一个微小的&;用于可排序表的死的简单jQuery插件。 原文标题:A tiny & dead-simple jQuery plugin for sortable tables. 项目评级:Star:263 Fork:99 下载地址:https://github.com/kylefox/jquery-tablesort 详情介绍一个微小的&;用于可排序表的死的简单jQuery插件。这是一个基本的演示。
通缉维护人员
我不再经常使用这个图书馆了,也没有时间单独维护它。
如果你有兴趣帮助我维护这个图书馆,请告诉我!点击此处阅读更多»
非常感谢您的帮助!
安装
只需添加jQuery&;页面的tablesort插件:
(该插件也与Zepto.js兼容)。
它也可以通过npm获得
npm install jquery-tablesort
和蝴蝶结
bower install jquery-tablesort
基本用途
在要进行排序的表上调用适当的方法:
单击列标题时,将对表进行排序。
为了防止列可排序,只需添加no-sort
类:
您的表格应遵循以下通用格式:
注意:如果您有权访问表标记,最好包装您的表行
在<thead>
和<tbody>
元素中(见下文),导致排序稍微快一些。
如果您不能使用<thead>
,插件将通过对所有<tr>
行进行排序而回退
使用jQuery的.has()
方法包含<td>
元素(即标题行,
包含<th>
元素,将保留在其所属的顶部)。
如果你想要一些无图像箭头来指示排序,只需将其添加到你的CSS中:
单元格的排序方式
目前,使用字符串比较对单元格进行天真的排序。默认情况下,使用<td>
的文本,但您可以通过在单元格中添加data-sort-value
属性来轻松覆盖它。例如,要在保持单元格内容人性化的同时按日期排序,只需将时间戳添加为data-sort-value
:
这允许您使用自己的标准对单元格进行排序,而无需编写自定义排序函数。它还保持了插件的轻量级,不需要猜测&;解析日期。
定义自定义排序函数
如果您有特殊要求(或者不想像上面的例子那样把标记弄得乱七八糟),您可以很容易地挂接自己的函数,该函数可以确定给定单元格的排序值。
自定义排序函数使用data()
附加到<th>
元素,用于确定该列中所有单元格的排序值:
排序函数传递三个参数:
自定义比较函数
如果需要实现更高级的排序逻辑,可以指定compare
设置的比较功能。该功能的工作方式与Array.prototype.sort()
接受的compareFunction
相同:
事件
正在排序的<table>
元素、'tablesort:start'
元素和'tablesort:complete'
元素触发以下事件。event
和tablesort
实例作为参数传递:
表排序实例
可以通过查询数据对象来检索表的tablesort实例:
属性:
方法:
默认排序
可以使用上述.sort()
方法在页面加载时应用默认排序。只需获取tablesort实例并调用.sort()
,在要排序的<th>
元素中填充即可。
假设您的标记为<table class="sortable">
,并且默认情况下要排序的列为<th class="default-sort">
,那么您将写:
设置
以下是支持的选项及其默认值:
您还可以更改全局调试值,该值将覆盖实例的设置:
选择
我不再使用这个插件了——大多数修复程序&;贡献者提供了改进。
如果这个插件不能满足您的需求,并且您不想提交拉取请求,这里有一些替代的表排序插件。
(打开新一期,可以提出更多建议)
贡献
一如既往,欢迎所有建议、错误报告/修复和改进。
使用闭包编译器最小化JavaScript(默认选项)
特别感谢您在以下任何方面提供帮助:
请分叉并发送拉取请求,或报告问题。
许可证
jQuery tablesort是在MIT许可证下分发的。
了解更多信息,请访问http://opensource.org/licenses/mit-license.php
版权所有(c)2012 Kyle Fox
特此免费授予任何获得许可的人
该软件和相关文档文件的副本(
“软件”),不受限制地处理软件,包括
但不限于使用、复制、修改、合并、发布、,
分发、分许可和/或出售软件副本,以及
允许向其提供软件的人员这样做,但须遵守
以下条件:
上述版权声明和本许可声明应
包含在软件的所有副本或实质部分中。
该软件是“按原样”提供的,不提供
NY类,
明示或暗示,包括但不限于
适销性、特定用途的适用性以及
无侵权。在任何情况下,作者或版权持有人
对任何索赔、损害赔偿或其他责任负责,无论是在诉讼中
合同、侵权或其他方面的,由、由或与之相关
与软件或软件中的使用或其他交易。
如何为 Bootstrap 实现支持拖放的触摸敏感、响应式、可排序列表?
如何在 PostgreSQL 8.2(用于 Greenplum)中找到死元组(碎片)?