是否可以禁用 jQuery 插件表格排序器上的升序排序?
我试图在单击时获取表头以降序排序或不排序并跳过升序排序。
请注意,我见过的其他帖子讨论了初始排序顺序和锁定顺序,这些解决方案不是我想要的。我希望表格最初是未排序的,并且我希望标题列在单击时在未排序和降序排序之间循环。
提前致谢。
根据jQuery tablesorte 文档了解锁定排序顺序:
可以使用以下任何一种方法来锁定列(它们都可以 相同的事情),按优先级顺序(v2.3+):
- jQuery 数据
。 (相当于 data-locked-order="asc")。data-lockedorder="asc"
- 元数据
。这需要元数据插件。class="{ lockedOrder: 'asc'}"
- 标题选项
。headers: { 0 : { lockedOrder: 'asc' } }
- 标头类名
。class="lockedOrder-asc"
您可以将值设置为
desc
表示降序,而不是 asc
表示升序。
$(function() {
$("table").tablesorter({
theme : 'blue',
// pass the headers argument and passing a object
headers: {
0: {
// lock the sort order of the first column to descending
lockedOrder: 'desc'
},
1: {
// lock the sort order of the second column to descending
lockedOrder: 'desc'
}
}
});
});
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/css/theme.blue.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/jquery.tablesorter.min.js"></script>
<table class="tablesorter">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th data-lockedorder="desc">Age</th> <!-- added as data-lockedOrder, but the DOM changes it to data-lockedorder -->
<th>Total</th>
<th class="lockedOrder-desc">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>