Jaki jest najłatwiejszy sposób dodania listy option
rozwijanej za pomocą jQuery?
Czy to zadziała?
$("#mySelect").append('<option value=1>My option</option>');
javascript
jquery
Kliknij opcję Upvote
źródło
źródło
$("#mySelect").html(....)
aby zastąpić bieżące opcje nowymi.Odpowiedzi:
To NIE działało w IE8 (jeszcze działało w FF):
Ta praca DID:
źródło
display: table;
jest stosowany jako styl do elementu select. To złamie kod jsvar o = new Option('option text', 'value'); o.innerHTML = 'option text'; document.getElementById('selectList').appendChild(o);
Osobiście wolę tę składnię do dodawania opcji:
Jeśli dodajesz opcje z kolekcji przedmiotów, możesz wykonać następujące czynności:
źródło
items={option1:{value:1,text:1},option2:{value:2,text:2}}
Możesz dodać opcję przy użyciu następującej składni. Możesz także odwiedzić opcję obsługi sposobu w jQuery, aby uzyskać więcej informacji.
źródło
value
zamiastval
). Prawidłowy kod powinien być$('select').append('<option value="1">One</option>');
Jeśli nazwa lub wartość opcji jest dynamiczna, nie będziesz musiał się martwić o ucieczkę w niej znaków specjalnych; w tym możesz preferować proste metody DOM:
źródło
Opcja 1-
Możesz spróbować-
Lubię to-
Opcja 2-
Lub spróbuj tego-
Lubię to-
źródło
To jest bardzo proste:
lub
źródło
To działa dobrze.
Jeśli dodajesz więcej niż jeden element opcji, zalecam wykonanie append raz, a nie append na każdym elemencie.
źródło
z jakiegokolwiek powodu
$("#myselect").append(new Option("text", "text"));
nie działa dla mnie w IE7 +Musiałem użyć
$("#myselect").html("<option value='text'>text</option>");
źródło
Aby zwiększyć wydajność, powinieneś spróbować zmienić DOM tylko raz, tym bardziej, jeśli dodajesz wiele opcji.
źródło
string.join()
źródło
selectmenu()
nie jest częścią rdzenia jQuery i jest widżetem jQueryUI . To sprawia, że jest to dość ciężkie rozwiązanie, prawda?Lubię stosować podejście niewymagające zapytania:
źródło
Możesz dynamicznie dodawać opcje do menu rozwijanego, jak pokazano w poniższym przykładzie. Tutaj w tym przykładzie wziąłem dane tablicy i powiązałem te wartości tablicy z menu rozwijanym, jak pokazano na zrzucie ekranu wyjścia
Wynik:
źródło
W żadnej odpowiedzi nie wspomniano, ale użyteczny jest przypadek, w którym chcesz również wybrać tę opcję, możesz dodać:
źródło
źródło
Istnieją dwa sposoby. Możesz użyć jednego z tych dwóch.
Pierwszy:
Druga:
źródło
Jeśli chcesz wstawić nową opcję do określonego indeksu w zaznaczeniu:
Spowoduje to wstawienie „nowego elementu” jako trzeciego elementu w zaznaczeniu.
źródło
Możesz dołączyć i ustawić atrybut Value z tekstem:
źródło
Znaleźliśmy problem podczas dodawania opcji i sprawdzania poprawności jquery. Musisz kliknąć jeden element na liście wyboru wielu. Dodaj ten kod do obsługi:
źródło
źródło
To tylko krótkie punkty za najlepszą wydajność
zawsze, gdy masz do czynienia z wieloma opcjami, zbuduj duży ciąg, a następnie dodaj go do „select”, aby uzyskać najlepszą wydajność
fg
var $ mySelect = $ ('# mySelect'); var str = '';
Nawet szybciej
źródło
Jeśli otrzymujesz dane z jakiegoś obiektu, po prostu przekaż ten obiekt do działania ...
Nazwa i identyfikator to nazwy właściwości obiektu ... więc możesz je wywoływać, jak chcesz ... I oczywiście, jeśli masz macierz ... chcesz zbudować niestandardową funkcję za pomocą pętli for ... a następnie po prostu wywołaj tę funkcję w dokument gotowy ... Pozdrawiam
źródło
W oparciu o odpowiedź Dule'a na dodanie kolekcji przedmiotów, jedna linijka
for...in
będzie również działać cuda:Zarówno wartości obiektu, jak i indeksy są przypisane do opcji. To rozwiązanie działa nawet w starym jQuery (v1.4) !
źródło
jeśli masz opcję optgroup wewnątrz Select , masz błąd w DOM.
Myślę, że najlepszym sposobem:
źródło
Możesz wypróbować poniższy kod, aby dołączyć do opcji
źródło
źródło
W ten sposób to zrobiłem za pomocą przycisku, aby dodać każdy tag wyboru.
źródło
$(document).ready(function(){ $("#button").click(function() { $('#id_table_AddTransactions').append('<option></option>'); }); });
Możesz to zrobić w ES6:
źródło
Jeśli ktoś tu przyjdzie i szuka sposobu na dodanie opcji z właściwościami danych
Korzystanie z attr
Korzystanie z danych - dodano wersję 1.2.3
źródło