繁体   English   中英

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

[英]How to disable sorting on column in jQuery.tablesorter?

我试图找到一种方法来禁用对列的排序。 我使用jQuery插件tablesorter 并且默认情况下,如果您单击标题单元格,它将对列数据进行排序,但是如果我不需要对四列表中的一列或两列使用排序,该怎么办。

提前致谢。

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

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

有关更多信息,请参见以下手册:

http://tablesorter.com/docs/

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

<th data-sorter="false">...</th>

或者您可以使用一个类:

<th class="sorter-false">...</th>

就像是:

$('#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 } } }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.21.2/js/jquery.tablesorter.min.js"></script> <link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.21.2/css/theme.blue.min.css' type='text/css' /> <table id='myTable' cellspacing="1" class="tablesorter-blue"> <thead>> <tr> <th>first name</th> <th>last name</th> <th>age</th> <th>total</th> <th>discount</th> <th>date</th> </tr> </thead> <tbody> <tr> <td>peter</td> <td>parker</td> <td>28</td> <td>$9.99</td> <td>20%</td> <td>jul 6, 2006 8:14 am</td> </tr> <tr> <td>john</td> <td>hood</td> <td>33</td> <td>$19.99</td> <td>25%</td> <td>dec 10, 2002 5:14 am</td> </tr> <tr> <td>clark</td> <td>kent</td> <td>18</td> <td>$15.89</td> <td>44%</td> <td>jan 12, 2003 11:14 am</td> </tr> <tr> <td>bruce</td> <td>almighty</td> <td>45</td> <td>$153.19</td> <td>44%</td> <td>jan 18, 2001 9:12 am</td> </tr> <tr> <td>bruce</td> <td>evans</td> <td>22</td> <td>$13.19</td> <td>11%</td> <td>jan 18, 2007 9:12 am</td> </tr> </tbody> </table> 

对于单列xpapad是正确的

对于多列禁用排序

标头:{0:{分类器:错误},1:{分类器:错误},2:{分类器:错误}}

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

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

的HTML

 <table class="tablesorter">
   <thead>
    <tr>
     <th><span class="first-name">First Name</span></th>
     ...

JS

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

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

2.3+版本中 ,可以使用以下任何一种方法(优先级相同)来禁用列:

  • jQuery数据data-sorter="false"

     <table class="tablesorter"> <thead> <tr> <th data-sorter="false">Age</th> .... 
  • 元数据class="{ sorter: false }" (这需要元数据插件)

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

     $("table").tablesorter({ headers : { 0 : { sorter: false } }) 
  • 标头类名称class="sorter-false"

     <table class="tablesorter"> <thead> <tr> <th class="sorter-false">Discount</th> .... 
  • 直接使用jQuery数据禁用列,但是在表初始化之前执行。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM