Anzahl der Teilnahmen in Teilnhemerliste sortierbar

This commit is contained in:
klaas 2024-12-06 14:55:09 +01:00
parent 63ed731720
commit 11e1e7462a
1 changed files with 14 additions and 10 deletions

View File

@ -34,7 +34,7 @@
<% if (teilnehmer.probe) { %> <% if (teilnehmer.probe) { %>
<span style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>"> <span style="color: <%= teilnehmer.anwesenheit <= 3 ? 'green' : 'red' %>">
<% } %> <% } %>
(<%= teilnehmer.anwesenheit %>) <%= teilnehmer.anwesenheit %>
</span> </span>
</td> </td>
</tr> </tr>
@ -49,17 +49,21 @@ function sortTable(spaltenIndex) {
let isAscending = table.getAttribute('data-sort') === 'asc'; let isAscending = table.getAttribute('data-sort') === 'asc';
rows.sort((rowA, rowB) => { rows.sort((rowA, rowB) => {
let cellA = rowA.cells[spaltenIndex].innerText.toLowerCase(); let cellA = rowA.cells[spaltenIndex].innerText.trim();
let cellB = rowB.cells[spaltenIndex].innerText.toLowerCase(); let cellB = rowB.cells[spaltenIndex].innerText.trim();
if (!isNaN(cellA) && !isNaN(cellB)) { // Überprüfen, ob die Zellen numerisch sind
// Wenn die Zellen Zahlen sind, sortiere nach Zahlengröße let numA = parseFloat(cellA);
cellA = parseFloat(cellA); let numB = parseFloat(cellB);
cellB = parseFloat(cellB);
// Wenn beide Zahlen sind, sortiere numerisch
if (!isNaN(numA) && !isNaN(numB)) {
return isAscending ? numA - numB : numB - numA;
} }
if (cellA < cellB) return isAscending ? 1 : -1; // Andernfalls sortiere alphabetisch
if (cellA > cellB) return isAscending ? -1 : 1; if (cellA < cellB) return isAscending ? -1 : 1;
if (cellA > cellB) return isAscending ? 1 : -1;
return 0; return 0;
}); });