如何对一列进行排序取决于另一列的值:jquery tablesorter

时间:2017-11-21 10:07:35

标签: jquery html sorting tablesorter

我使用motti的tablesorter来排序html表。我无法找到依赖于另一列值对某列进行排序的方法。  在我的情况下,想要对FULLNAME列进行排序取决于基本上隐藏的LASTNAME列值。这可能吗?谢谢: - )

  <table id="tblDetails">
<thead>
    <tr>
        <th>FULL NAME</th>
        <th style="display:none;">LAST NAME</th>
        <th>GENDER</th>
        <th>ADDRESS</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>James</td>
        <td style="display:none;">Peter</td>
        <td>male</td>
        <td>washington dc</td>
    </tr>
    <tr>
        <td>jennifer</td>
        <td style="display:none;">lopez</td>
        <td>female</td>
        <td>New york</td>
    </tr>
    <tr>
        <td>Harrison</td>
        <td style="display:none;">Ford</td>
        <td>male</td>
        <td>washington dc</td>
    </tr>
</tbody>

2 个答案:

答案 0 :(得分:1)

查找文档:https://mottie.github.io/tablesorter/docs/#methods 您似乎可以处理所需列上的click事件(任何HTML元素单击),然后将排序触发到另一列:

$('table').find('th:eq(2)').trigger('sort');

答案 1 :(得分:1)

简单的解决方案是在列(FULLNAME)之前添加隐藏的跨度或标签。它将根据第一个添加的值进行排序

      <table id="tblDetails">
    <thead>
        <tr>
            <th>FULL NAME</th>
            <th>GENDER</th>
            <th>ADDRESS</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><span style="display:none;">Peter</span>James</td>
            <td>male</td>
            <td>washington dc</td>
        </tr>
   <tr>
        <td><span style="display:none;">lopez</span>jennifer</td>
        <td>female</td>
        <td>New york</td>
    </tr>
    </tbody>
    </table>