如何在jQuery.tablesorter中禁用列的排序?
我试图找到一种方法如何禁用列上的排序。 我使用jQuery插件tablesorter 。 默认情况下,如果单击标题单元格,它会对列数据进行排序,但如果我不需要在四列表中的一列或两列上使用排序,我需要做什么。
提前致谢。
您必须在初始化时传递适当的参数,例如:
{ ... headers: { 0: { sorter: false} } }
有关更多信息,请查看手册:
您还可以使用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}}
在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(