JavaScript 中的表格排序

发布于 2024-11-09 14:48:01 字数 183 浏览 0 评论 0原文

我有一个要应用排序的表,我下载了 sortTable.js,并通过 将其包含在我的 asp 页面中,将表类指定为 sortable 并将所有标题放在 标记内,但排序似乎仍然不起作用。我错过了什么吗?

I have a table on which I want to apply sorting, I downloaded the sortTable.js, included it in my asp page by <script src="sorttable.js"></script>, gave the table class as sortable and have all the headings inside <thead><th> tag, but still sorting does not seem to work. Am I missing something?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

凡间太子 2024-11-16 14:48:01

这是我使用的函数:

function sortTable( table, colNum )
{
  var n = table.rows.length - 1;
  do
  {
    var newn = 0;
    for( i = 2 ; i <= n ; i++ )
    {
      if( table.rows[i-1].cells[colNum].innerHTML.toUpperCase() > table.rows[i].cells[colNum].innerHTML.toUpperCase() )
      {
        table.insertBefore( table.rows[i], table.rows[i-1] );
        newn = i;
      }
    }
    n = newn;
  }
  while( n > 0 );
}

table 是 DOM 表对象,colNum 是表中的列索引(从 0 开始)。它假设表中有一个标题行(不会被排序)。对大表(数百行)进行排序需要几秒钟,但较小的表会立即排序。

Here's the function I use:

function sortTable( table, colNum )
{
  var n = table.rows.length - 1;
  do
  {
    var newn = 0;
    for( i = 2 ; i <= n ; i++ )
    {
      if( table.rows[i-1].cells[colNum].innerHTML.toUpperCase() > table.rows[i].cells[colNum].innerHTML.toUpperCase() )
      {
        table.insertBefore( table.rows[i], table.rows[i-1] );
        newn = i;
      }
    }
    n = newn;
  }
  while( n > 0 );
}

table is the DOM table object and colNum is the column index in the table (0 based). It assumes there is a header row on the table (which wont be sorted). It will take a couple seconds to sort a large table (hundreds of rows), but smaller tables sort instantly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文