2014-04-30 3 views
10

Mam listę rozwijaną, która działa dobrze na to, czego potrzebuję. Jedynym problemem, jaki mam, jest to, że nie mogę dostarczyć uporządkowanej listy do listy rozwijanej, ale trzeba ją zamówić alfabetycznie po stronie klienta. Nie wydaje mi się, aby coś związanego z reorganizacją tagów według ich wartości alfabetycznie w wybranej wtyczce. ciekawy, czy ktoś musiał to zrobić, czy może wskazać mi właściwy kierunek. Przykładowy kod byłby następujący:Jak zmienić kolejność alfabetu w <options> w jquery-selected dropdown

$("#my-dropdown").chosen({no_results_text: "No results matched"}); 

tylko zastanawiasz się, czy istnieje opcja zorganizowania go, zanim sam go zamawiam w javascript. z góry dzięki

+3

właśnie rodzaj listy po stronie serwera przed renderowania opcje .. Problem rozwiązany. –

Odpowiedz

13

Najpierw należy posortować listę ... Następnie uruchomić wybraną wtyczkę.

// sort list 
var my_options = $("#my-dropdown option"); 
my_options.sort(function(a,b) { 
    if (a.text > b.text) return 1; 
    else if (a.text < b.text) return -1; 
    else return 0 
}) 
$("#my-dropdown").empty().append(my_options); 

// run chosen plugin 
$("#my-dropdown").chosen({no_results_text: "No results matched"}); 

Lista sortowania kod splądrowany z wysoko oceniane odpowiedź tutaj:

What is the most efficient way to sort an Html Select's Options by value, while preserving the currently selected item?

+1

Dziękuję za odpowiedź. Miałem zamiar zrobić to w javascript, gdyby nie było w nim metody, ale ty też napisałeś javascript dla mnie! doceniam pomoc –

+0

jedną rzecz, którą zmieniłem, że możesz zmienić tutaj, aby inni zobaczyli, że zrobiłem tekst małymi literami dla pełnego alfabetycznego sortowania .. tolowercase() metoda :) jeszcze raz dziękuję za pomoc –

+0

Nie ma problemu :) Cieszę się, że to działało dla ciebie. – dana

Powiązane problemy