Я использую 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]} );
для сортировки по первому столбцу, но после редактирования плагина он больше не работает. Вот консоль.log, которую я получаю при нажатии на столбец 0: " Сортировка по 0,0 и dir 0 раз (2 мс) "
Вместо этого используйте метод sorton
// 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]);
Изменение $("#myTable").tablesorter( {sortList: [[0,0]} )
до $("#mytable").data('tablesorter').sortList = [[0,0]]; $("#mytable").trigger('update');
$("#mytable").data('tablesorter').sortList = [[0,0]]; $("#mytable").trigger('update');
сделал трюк.