Hallo allemaal,
Ik heb een tabel met daarin tijdstippen in een periode van circa 28 uur. In de tabel zelf moeten alleen de tijdstippen zichtbaar zijn; maar deze moeten gestorteerd worden op basis van een timedelta (tijd vanaf een bepaald tijdstip). De timedelta is opgenomen in een class (het is geen ID omdat er de kans bestaat dat in de tabel het zelfde tijdstip meerdere keren voor gaat komen). In de uiteindelijke versie zullen niet meer dan 200 rijen komen.
Kan ik de tabel sorteren op basis van de waarde van class? En bied de sort methode op de website van W3 schools dan uitkomst?
Ik heb hun tabel een beetje verbouwd voor mijn voorbeeld, de rest komt rechtstreeks van W3schools.com
als
aangepast kan worden dat deze de waardes van de classes vergelijkt dan ben ik er.
Mocht het niet mogelijk zijn, is een andere optie om de 'timedeltas' te importeren, vervolgens te sorteren en daarna de weergave aan te passen naar HH:MM:SS.
Ik heb een tabel met daarin tijdstippen in een periode van circa 28 uur. In de tabel zelf moeten alleen de tijdstippen zichtbaar zijn; maar deze moeten gestorteerd worden op basis van een timedelta (tijd vanaf een bepaald tijdstip). De timedelta is opgenomen in een class (het is geen ID omdat er de kans bestaat dat in de tabel het zelfde tijdstip meerdere keren voor gaat komen). In de uiteindelijke versie zullen niet meer dan 200 rijen komen.
Kan ik de tabel sorteren op basis van de waarde van class? En bied de sort methode op de website van W3 schools dan uitkomst?
Ik heb hun tabel een beetje verbouwd voor mijn voorbeeld, de rest komt rechtstreeks van W3schools.com
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| <!DOCTYPE html> <html> <head> <title>Sort a HTML Table Alphabetically</title> <style> table { border-spacing: 0; width: 100%; border: 1px solid #ddd; } th, td { text-align: left; padding: 16px; } tr:nth-child(even) { background-color: #f2f2f2 } </style> </head> <body> <p>Click the button to sort the table alphabetically, by name:</p> <p><button onclick="sortTable()">Sort</button></p> <table id="myTable"> <tr> <th>Time</th> <th>Description</th> </tr> <tr> <td class="43200">12:00:00</td> <td>offline at noon</td> </tr> <tr> <td class="28805">08:00:05</td> <td>offline in the morning</td> </tr> <tr> <td class="75600">21:00:00</td> <td>offline in the evening</td> </tr> <tr> <td class="39600">11:00:00</td> <td>also offline in the morning</td> </tr> <tr> <td class="94822">02:20:22</td> <td>offline somewhere after midnight (next day)</td> </tr> <tr> <td class="85632">23:47:12</td> <td>also offline in the evening</td> </tr> </table> <script> function sortTable() { var table, rows, switching, i, x, y, shouldSwitch; table = document.getElementById("myTable"); switching = true; /*Make a loop that will continue until no switching has been done:*/ while (switching) { //start by saying: no switching is done: switching = false; rows = table.rows; /*Loop through all table rows (except the first, which contains table headers):*/ for (i = 1; i < (rows.length - 1); i++) { //start by saying there should be no switching: shouldSwitch = false; /*Get the two elements you want to compare, one from current row and one from the next:*/ x = rows[i].getElementsByTagName("TD")[0]; y = rows[i + 1].getElementsByTagName("TD")[0]; //check if the two rows should switch place: if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { //if so, mark as a switch and break the loop: shouldSwitch = true; break; } } if (shouldSwitch) { /*If a switch has been marked, make the switch and mark that a switch has been done:*/ rows[i].parentNode.insertBefore(rows[i + 1], rows[i]); switching = true; } } } </script> </body> </html> |
als
JavaScript:
1
| if (x.innerHTML.toLowerCase() > y.innerHTML.toLowerCase()) { |
aangepast kan worden dat deze de waardes van de classes vergelijkt dan ben ik er.
Mocht het niet mogelijk zijn, is een andere optie om de 'timedeltas' te importeren, vervolgens te sorteren en daarna de weergave aan te passen naar HH:MM:SS.
[ Voor 0% gewijzigd door Niekleair op 12-12-2020 04:22 . Reden: slordigheidjes uit de code gehaald ]
[img]error.jpg[/img]