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