使用 JQuery Table Sorter 插件仅对一列进行排序

Only one column sorting using JQuery Table Sorter Plug-In

我正在使用 jQuery 的 tablesorter 插件在客户端对我的 gridview 进行排序。但这就是问题所在,我必须使该排序选项仅适用于一列。 (gridview中列号为7)

 $("#<%=gvResults.ClientID%>").tablesorter();

我们如何使用 table 分拣器插件实现它。有什么建议请

从 headers 中删除你不想排序的 class 'header',例如,如果它只是你想要排序的第七行,写

$('.header').not('.header:nth-child(7)').removeClass('header');

运行 首先添加这个 html:

<script>
    $(document).ready(function()
    {
        $('.header').not('.header:nth-child(7)').removeClass('header');
        $('.header').not('.header:nth-child(7)').click(function(event)
        {
            event.preventDefault();
        });
        $('.headerSortDown').removeClass('headerSortDown');  // fixes a bug
        $('.headerSortUp').removeClass('headerSortUp');  // fixes a bug
    });
</script>

如果您知道将启用排序的列索引,则按如下方式设置 headers 选项:

$(function(){
  $('table').tablesorter({
    headers : {
      // zero-based column index
      0 : { sorter: false },
      1 : { sorter: false },
      2 : { sorter: false },
      3 : { sorter: false },
      4 : { sorter: false },
      5 : { sorter: false }
    }
  });
});

以上代码适用于原始表格排序器和我的 fork of tablesorter

如果您碰巧使用我的 tablesorter 分支,那么您可以将 class 个名称添加到 headers:

<th class="sorter-false">column 1</th>
<th class="sorter-false">column 2</th>
<th class="sorter-false">column 3</th>
<!-- etc -->
<th>column 7</th>

然后在没有任何额外选项的情况下初始化 tablesorter:

$(function(){
  $('table').tablesorter();
});