如何在不通过AJAX加载数据的情况下使用javascript对HTML表进行排序?

时间:2009-06-04 04:17:19

标签: javascript jquery html sorting html-table

如何在不通过AJAX加载数据的情况下使用javascript对表进行排序?更具体地说,我正在寻找一个解决方案,它给了我以下内容:

  • 适用于普通的旧HTML表格
  • 使用自然比较使列可排序
  • 不知道服务器端技术(无论表是由JSP,PHP等呈现,都应该是可移植的)
  • 最好是作为JQuery的扩展实现的,我已经在特定项目中使用了我想立即应用它。我对涉及其他javascript框架(如YUI)的建议持开放态度,但它需要与JQuery一起使用。

我不想要的东西:

  • 需要我通过AJAX调用填充数据的解决方案。我想在一个项目中应用它,这个项目包含许多普通的旧HTML表格,用于搜索结果,我希望在不重写任何服务器端代码的情况下快速进行排序。
  • 寻呼。
  • 过滤
  • 指定任意比较逻辑的能力。

我有意为我正在进行的特定项目省略了我们的技术堆栈,但如果人们认为绝对必要,我会将其包括在内。同样,我最感兴趣的是在服务器上不涉及任何内容的解决方案。有很多项目用各种语言写成,可以在这个领域使用一点点爱。

关于Stack Overflow上类似的现有问题

我做了一些探讨,我能找到的最接近的问题是this one。然而,我的要求有点不同,所以我决定提出一个新问题。

6 个答案:

答案 0 :(得分:24)

jquery插件tablesorter效果非常好。

答案 1 :(得分:4)

Tablesorter是一个jQuery插件,其工作方式类似于sortable.js,将普通的HTML表格转换为可排序的HTML表格。

答案 2 :(得分:3)

尝试sortable.js

答案 3 :(得分:1)

除了OrbMan的回答,您还可以查看wikibits.js,这是MediaWiki的排序代码版本。它不需要任何AJAX或特殊的胶水代码,只需要一个简单的类(可排序)来指定可排序的表。

该代码是免费许可的,并在维基媒体网站的整个生产中使用。

编辑:MediaWiki从Tablesorter开始(2011年4月)切换到86088版本。

答案 4 :(得分:1)

我真的很喜欢tristen's tablesort。它是无依赖性,轻量级,不需要很多样式/不会弄乱你自己的样式!

答案 5 :(得分:1)

  1. 下载sorttable.js

  2. 包含sorttable.js,在页面的HEAD中添加一个链接,如下所示:

    <script src="sorttable.js"></script>
    
  3. 将您的表标记为可排序的表格,为其提供sortable类:

    <table class="sortable">