728x90
function sortTable(table, index, asc) {
var rows = table.find('tbody tr').get();
rows.sort(function (a, b) {
var cellA = $(a).children('td').eq(index).text().trim();
var cellB = $(b).children('td').eq(index).text().trim();
if ($.isNumeric(cellA) && $.isNumeric(cellB)) {
return asc ? cellB - cellA : cellA - cellB;
} else {
return asc ? cellB.localeCompare(cellA) : cellA.localeCompare(cellB);
}
});
$.each(rows, function (index, row) {
table.children('tbody').append(row);
});
}
$(document).ready(function () {
$('th').click(function () {
var index = $(this).index();
var table = $(this).closest('table');
var asc = $(this).hasClass('sorted-asc');
sortTable(table, index, asc);
table.find('th').removeClass('sorted-asc sorted-desc');
$(this).toggleClass('sorted-asc', !asc).toggleClass('sorted-desc', asc);
});
728x90
'공부 (@Deprecated)' 카테고리의 다른 글
| ConnectionTimeout과 SocketTimeout의 차이 (0) | 2024.10.30 |
|---|---|
| [UML] 시퀀스 다이어그램 (Sequence Diagram) (0) | 2024.10.30 |
| [linux] rsync (0) | 2024.09.12 |
| [spring] JPA @Enumerated(value = EnumType.STRING) @Column (0) | 2024.09.05 |
| [SQL] SELECT GROUP_CONCAT(DISTINCT categories ORDER BY categories ASC SEPARATOR ' ') FROM table (1) | 2024.09.05 |