gpt4 book ai didi

jquery - 使用两行标题进行表格排序

转载 作者:行者123 更新时间:2023-12-01 01:25:33 24 4
gpt4 key购买 nike

我的表结构如下:

enter image description here

这是我的 HTML:

<table id="jackpotwatch" style="width:700px;">
<thead>
<tr>

<th>Location</th>
<th colspan="2">Full Name</th>
<th>Amount</th>

</tr>
<tr >
<th>Asset</th>
<th>Patron ID</th>
<th>User</th>
<th>Date/Time</th>
</tr>
</thead>
<tbody>
<tr>
<td>Salem</td>
<td colspan="2">Bob galvin</td>
<td>$3400</td>
</tr>
<tr>
<td>assert1</td>
<td>1148</td>
<td>sjauser</td>
<td>11/12 10:39 AM</td>
</tr>
<tr>
<td>chennai</td>
<td colspan="2">sally n safer</td>
<td>$400</td>
</tr>
<tr>
<td>sdfsdgt1</td>
<td>4747</td>
<td>sjauser</td>
<td>11/12 10:39 AM</td>
</tr>
<tr>
<td>Mazdgfdg</td>
<td colspan="2">afdagadg</td>
<td>789769</td>
</tr>
<tr>
<td>qwqeqe</td>
<td>47467</td>
<td>sjauser</td>
<td>11/12 10:39 AM</td>
</tr>
<tr>
<td>hurtyry</td>
<td colspan="2">afadfadg</td>
<td>$12000</td>
</tr>
<tr>
<td>afadsf</td>
<td>25426546</td>
<td>sjauser</td>
<td>11/12 10:39 AM</td>
</tr>
</tbody>
</table>

当我单击“金额”标题时,应对金额值($3400、$400、$12000)进行排序,等等。就像日期/时间字段也应该根据值进行排序。

我用了Tablesorter插件,但该插件未对所有列进行排序。它不会对该表中的最后一列和第二行标题进行排序。我还用过Tinysort插件,但它在排序时改变表结构本身。

我无法更改表结构,因为这是我们客户最大的要求。请提供一些关于这个排序问题的指南,这对我非常有用。

我们可以应用任何自定义排序,请建议我如何做到这一点。

最佳答案

大概您希望每个条目的两行保持分组在一起,在这种情况下,Tablesorter 的设计目的不是您想要的。不过,如果您准备将每对行放入其自己的 tbody 中,Tinysort 就可以工作:

<table id="jackpotwatch" style="width:700px">
<thead>
<tr>
<th>Location</th>
<th colspan="2">Full Name</th>
<th>Amount</th>
</tr>
<tr >
<th>Asset</th>
<th>Patron ID</th>
<th>User</th>
<th>Date/Time</th>
</tr>
</thead>
<tbody>
<tr>
<td>Salem</td>
<td colspan="2">Bob galvin</td>
<td>$3400</td>
</tr>
<tr>
<td>assert1</td>
<td>1148</td>
<td>sjauser</td>
<td>11/12 10:39 AM</td>
</tr>
</tbody>
<tbody>
<tr>
<td>chennai</td>
<td colspan="2">sally n safer</td>
<td>$400</td>
</tr>
<tr>
<td>sdfsdgt1</td>
<td>4747</td>
<td>sjauser</td>
<td>11/12 10:39 AM</td>
</tr>
</tbody>
...
</table>

由于 Tinysort 显然可以对任何类型的元素进行排序,因此您应该能够告诉它对 tbody 元素而不是行进行排序。您的脚本可以大致基于 Tinysort 文档中的表示例执行类似的操作:

$(document).ready(function() {
var aAsc = [];
$("#jackpotwatch>thead th").each(function(nr) {
$(this).click(function() {
aAsc[nr] = aAsc[nr] == 'asc' ? 'desc' : 'asc';
$("#jackpotwatch>tbody").tsort('td:eq(' + nr + ')', {order: aAsc[nr]});
});
});
});

这依赖于标题行中的单元格数量与每个正文的行中的单元格数量完全相同。

关于jquery - 使用两行标题进行表格排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14896548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com