![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 9.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki skrypt:
Kod <!DOCTYPE HTML> <html> <head> <title> Sort a list alphabetically </title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script> </head> <body> <button> click here </button> <ul> <li>Geeks</li> <li>Sosna</li> <li>Zebra</li> <li>GeeksForGeeks</li> <li><h1>G</h1></li> <li><h1>F</h1></li> <li>Arbuz</li> <li><h1>A</h1></li> <li>Łódź</li> <li><h1>Ł</h1></li> <li>ósmy</li> <li><h1>Ó</h1></li> <li>święty</li> <li><h1>Ś</h1></li> <li>ärgern</li> <li><h1>Ä</h1></li> <li>Österreich</li> <li><h1>Ö</h1></li> <li>Überraschung</li> <li><h1>Ü</h1></li> </ul> <script> function Ascending_sort(a, b) { return ($(b).text().toUpperCase()) < ($(a).text().toUpperCase()) ? 1 : -1; } $('button').on('click', function() { $("ul li").sort(Ascending_sort).appendTo('ul'); }); </script> </body> </html> Codepen: https://codepen.io/rudolph-reti/pen/dyPzXER Dopiero zacząłem uczyć się JavaScriptu. Myślę, że jeszcze sporo materiału musiałbym przerobić zanim sam poradziłbym sobie z tym, dlatego bardzo proszę o pomoc. Chciałbym, żeby lista była sortowana za pomocą funkcji localeCompare(). Czy mógłby mi ktoś pomóc wpleść ją w ten kod? Ten post edytował stellatus 29.12.2019, 12:55:43 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 9.03.2017 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki (IMG:style_emoticons/default/smile.gif) Tutaj jest trochę zmodyfikowana wersja:
Kod <!DOCTYPE HTML> <html> <head> <title> Sort a list alphabetically </title> <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"> </script> </head> <body onload="finallListSort()"> <ul> <li>Geeks</li> <li>sosna</li> <li>Zebra</li> <li>GeeksForGeeks</li> <li><h1>G</h1></li> <li><h1>F</h1></li> <li>Arbuz</li> <li><h1>A</h1></li> <li>Łódź</li> <li><h1>Ł</h1></li> <li>ósmy</li> <li><h1>Ó</h1></li> <li>święty</li> <li><h1>Ś</h1></li> <li>ärgern</li> <li><h1>Ä</h1></li> <li>Österreich</li> <li><h1>Ö</h1></li> <li>Überraschung</li> <li>Ludzie</li> <li><h1>Ü</h1></li> <li><h1>L</h1></li> <li><h1>S</h1></li> <li>orka</li> <li><h1>O</h1></li> <li>ucho</li> <li><h1>U</h1></li> </ul> <script> function Ascending_sort(b, a) { a = $(a).text().trim().toUpperCase(); b = $(b).text().trim().toUpperCase(); return b.localeCompare(a, 'de'); } function finallListSort() { $("ul li").sort(Ascending_sort).appendTo('ul')}; </script> </body> </html> https://codepen.io/rudolph-reti/pen/dyPzXER Sortowanie dla języka polskiego działa poprawnie, ale dla niemieckiego nie. Wie ktoś dlaczego? Wszystkie umlauty (Ö, Ä, Ü) powinny iść na koniec listy, a stoją w miejscu. Ten post edytował stellatus 1.01.2020, 14:54:27 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 23:00 |