Сортировка нескольких строк

0

Не хотите использовать какой-либо плагин для сортировки таблицы в jquery.

У меня есть html-таблица, как это

Изображение 174551

При щелчке по имени столбца он должен сортироваться в порядке desc следующим образом.

Изображение 174551

В примере все приведены только в строке таблицы - Accord, Dutch, Status, Department, Invoice.

Dutch, Software, Status имеет название класса - Accord.

Inoive, Profit имеет название класса - отдел.

Теги:
sorting

1 ответ

0

Вот ДЕМО в соответствии с вашим требованием. Пожалуйста, проверьте. Без какого-либо плагина jQuery.

Вот код js основной функциональности:

$('th').click(function(){
    var table = $(this).parents('table').eq(0)
    var rows = table.find('tr:gt(0)').toArray().sort(comparer($(this).index()))
    this.asc = !this.asc
    if (!this.asc){rows = rows.reverse()}
    for (var i = 0; i < rows.length; i++){table.append(rows[i])}
})
function comparer(index) {
    return function(a, b) {
        var valA = getCellValue(a, index), valB = getCellValue(b, index)
        return $.isNumeric(valA) && $.isNumeric(valB) ? valA - valB : valA.localeCompare(valB)
    }
}
function getCellValue(row, index){ return $(row).children('td').eq(index).html() }
  • 0
    в моем случае Аккорд тоже тр только. но вы использовали как TH.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню