如何在jQuery.tablesorter中禁用列的排序?

我试图找到一种方法如何禁用列上的排序。 我使用jQuery插件tablesorter 。 默认情况下,如果单击标题单元格,它会对列数据进行排序,但如果我不需要在四列表中的一列或两列上使用排序,我需要做什么。

提前致谢。

您必须在初始化时传递适当的参数,例如:

{ ... headers: { 0: { sorter: false} } } 

有关更多信息,请查看手册:

http://tablesorter.com/docs/

您还可以使用html数据属性:

 ... 

或者你可以使用一个类:

 ... 

就像是:

 $('#selector').tablesorter({headers: {0: { sorter: false}}}); 

这里有清楚的概述: http : //tablesorter.com/docs/example-options-headers.html

 $(document).ready(function() { $("#myTable").tablesorter({ // pass the headers argument and assing a object headers: { // assign the secound column (we start counting zero) 1: { // disable it by setting the property sorter to false sorter: false }, // assign the third column (we start counting zero) 2: { // disable it by setting the property sorter to false sorter: false } } }); }); 
    > 
first name last name age total discount date
peter parker 28 $9.99 20% jul 6, 2006 8:14 am
john hood 33 $19.99 25% dec 10, 2002 5:14 am
clark kent 18 $15.89 44% jan 12, 2003 11:14 am
bruce almighty 45 $153.19 44% jan 18, 2001 9:12 am
bruce evans 22 $13.19 11% jan 18, 2007 9:12 am

对于单列xpapad是对的

对于多列禁用排序

标题:{0:{sorter:false},1:{sorter:false},2:{sorter:false}}

http://tablesorter.com/docs/#Configuration

tablesorter v2.18.1中 ,您现在可以通过标头内元素的类名来定位列; 请注意,span在第一个名称列中具有目标类名。

HTML

   ...
First Name

JS

  $("table").tablesorter({ headers: { '.first-name' : { sorter: false } } }); 

tablesorter v2.0.5及更早版本中,只有元数据和标头选项方法可用。

版本2.3+中 ,可以使用以下任何方法禁用列(它们都执行相同的操作),按优先级顺序排列:

  • jQuery data data-sorter="false"

      ....
    Age
  • metadata class="{ sorter: false }" 。 (这需要元数据插件)

  • headers选项headers : { 0 : { sorter: false } }

     $("table").tablesorter({ headers : { 0 : { sorter: false } }) 
  • header class name class="sorter-false"

      ....
    Discount
  • 直接使用jQuery数据禁用列,但在表初始化之前执行此操作。

     $("table thead th:eq(5)").data("sorter", false); $("table").tablesorter(