更改selectorSort后,JQuery Tablesorter,SortList无法正常工作

时间:2014-04-15 07:34:13

标签: javascript jquery tablesorter

我在桌面上使用jQueryTableSorter,每个标题中都有一个标记,就像下拉菜单的按钮一样

<table>
<thead>
    <tr><th><div class="clickable">column 0 </div><div class="non-clickable"><img></div> </th><th><div class="clickable">column 1</div><div class="non-clickable"><img></div></th></tr>
</thead>
<tbody>
    <tr><td> cell00 </td> <td> cell01 </td></tr>
    <tr><td> cell10 </td> <td> cell11 </td></tr>
    <tr><td> cell20 </td> <td> cell21 </td></tr>
</tbody>

我不想点击img对列进行排序,所以我编辑了tablesorter插件: 我将(第96行)selectorSort : '> thead th, > thead td'更改为selectorSort : '.clickable',并按预期更改(大部分)工作。问题是我希望能够通过单击另一个按钮来排序(Asc或Desc)。我使用$("#myTable").tablesorter( {sortList: [[0,0]} );按第一列排序,但在编辑插件后,它不再有效。 这是我在点击第0列时得到的console.log: &#34; 排序0,0和dir 0时间(2ms) &#34;

2 个答案:

答案 0 :(得分:0)

$("#myTable").tablesorter( {sortList: [[0,0]} )更改为$("#mytable").data('tablesorter').sortList = [[0,0]]; $("#mytable").trigger('update');就可以了。

答案 1 :(得分:0)

相反,请使用sorton method

// Choose a new sort order
var sort = [[0,0],[2,0]],
    callback = function(table){
        console.log('new sort applied');
    };
// Note that the sort value below is inside of another array (inside another set of square brackets)
$("table").trigger("sorton", [sort, callback]);