Запустить сортировку по нажатию кнопки вместо полного щелчка с помощью jQuery tablesorter?
Я использую этот jQuery tableorter: https://mottie.github.io/tablesorter/docs/index.html. Я инициализирую сортировку следующим образом:
$('.sortable').tablesorter();
Моя таблица выглядит так:
<table class="sortable" id="list-users">
<thead>
<tr>
<th>
<div class="sorter"></div>
ID
</th>
<th>
<div class="sorter"></div>
Name
</th>
<th>
<div class="sorter"></div>
Birth date
</th>
</tr>
</thead>
<tbody>
<tr>
...
Поведение по умолчанию следующее: когда я щелкаю тег th, таблица сортируется по столбцу. Это хорошо.
Но я хочу вызвать событие, когда вместо этого нажимаю на div.sorter. Кто-нибудь знает, как это сделать? Я попробовал это:
$('table').find('th:eq(columnNumber)').trigger('sort');
Но это, конечно, не отключает событие по умолчанию, это полезно, когда вы хотите вызвать событие из thead.
Спасибо!
1 ответ
Решение
На самом деле в этом плагине есть настраиваемый селектор, который позволяет вам определить, какой элемент запускает сортировку. Вот пример из проектной документации. Применяя его к вашей разметке, он может выглядеть так:
$(function() {
// call the tablesorter plugin
$(".sortable").tablesorter({
selectorSort : 'div.sorter'
});
});