1

我正在使用 tablesorter 插件对表格进行排序。

信息

  • 我有一个跨越两个不同的 td。我仍然需要进行排序,好像 th 是两个 th:s。
  • “Testing2”没有按预期工作。它应该对第三列进行排序。

jsfiddle

我已经更新了另一个人的 jsfiddle。因为我没有将他的整个代码直接粘贴到这里。

jQuery

$('table').tablesorter();
$('select').change(function(){
    var column = parseInt($(this).val(), 10),
        direction = 1, // 0 = descending, 1 = ascending
        sort = [[ column, direction ]];
    if (column >= 0) {
        $('table').trigger("sorton", [sort]);
    }
});

http://jsfiddle.net/Yke6M/53/

4

1 回答 1

1

我认为最简单的解决方案是添加一个没有colspan演示)的隐藏行:

<table class="tablesorter">
     <thead>
         <tr>
             <th>Alphabetic</th>
             <th colspan="2" style="text-align: center;">Testing</th>
             <th>Animals</th>
         </tr>
         <tr class="hidden">
             <td></td>
             <td></td>
             <td></td>
             <td></td>
         </tr> 
    </thead>
    <tbody>
    ...
    </tbody>
</table>

然后相应地修改您的下拉列表

<select>
    <option value="-">Choose a column</option>
    <option value="0">Alphabetic</option>
    <option value="1">Testing</option>
    <option value="2">Testing2</option>
    <option value="3">Animals</option>
</select>

我不确定为什么我很难在 jsFiddle 中隐藏该行,但我最终将 css 修改为:

th, tbody td {
    background: #eee;
    border: 1px solid #ccc;
    padding: 10px;
}
tr.hiddden {
    display: none;
}
于 2013-03-27T21:33:35.773 回答