Ja bym do tego podszedł nieco inaczej i po prostu wygenerował te elementy z poziomu JS. Jeśli te dane są pobierane z jakieś bazy to wystaw sobie endpoint np. GET /getAllTrips, który zwróci Ci JSONa ze wszystkimi wycieczkami. Nastepnie z poziomu JS wygeneruj sobie listę elementów z założeniem jakiegoś domyślnego sortowania i po prostu każda zmiana warunku sortowania niech odpowiednio zmodyfikuje Ci tablicę elementów i przegeneruj widok.
Niezbyt wiem co i jak dokładniej objaśnić, bo nie dałeś żadnego kodu... Po pierwsze to endpoint do pobrania danych zrob tak, aby wszystkie pola wg których sortujesz mieć gotowe, to ułatwia, ja jestem raczej zdania, że na froncie powinno się minimalizować ilość logiki biznesowej i raczej w większości przypadków ładować ją do API.