Próba użycia Select2 i otrzymanie tego błędu w polu wejściowym / tekstowym wielu elementów:
"query function not defined for Select2 undefined error"
javascript
runtime-error
jquery-select2
Daniel Morris
źródło
źródło
$(document).ready(function() { $('select.form-select').select2()})
.select2({})
metodę. Lepszym rozwiązaniem byłoby najpierw wywołanie metody zniszczenia. Np .:$("#mySelectControl").select2("destroy").select2({});
Ten komunikat o błędzie jest zbyt ogólny. Jednym z innych możliwych źródeł jest to, że próbujesz wywołać
select2()
metodę na już „select2ed” wejściu.źródło
Jeśli zainicjujesz puste wejście, wykonaj następujące czynności:
Przeczytaj pierwszy komentarz poniżej, który wyjaśnia, dlaczego i kiedy powinieneś użyć kodu w mojej odpowiedzi.
źródło
select2()
po prostu nie zaakceptuje pustych parametrówMiałem też ten problem, upewnij się, że nie inicjalizujesz dwukrotnie select2.
źródło
U mnie ten problem sprowadzał się do ustawienia prawidłowego atrybutu data-ui-select2:
Jeśli zdejmę
data
nieruchomość na$scope.projectManagers
, otrzymuję ten błąd.źródło
Ten problem sprowadzał się do tego, jak budowałem moje pole wyboru select2. W jednym pliku javascript miałem ...
A w innym pliku js przesłonięcie ...
Przeniesienie drugiej zmiany do zdarzenia ładowania okna rozwiązało problem.
Ten problem pojawił się w aplikacji Railsowej
źródło
Otrzymałem również ten sam błąd podczas używania Ajax z polem tekstowym, a następnie rozwiązuję go, usuwając klasę select2 z pola tekstowego i ustawiając select2 według identyfikatora:
źródło
Wygląda na to, że twój selektor zwraca niezdefiniowany element (Dlatego
undefined error
jest zwracany)W przypadku, gdy element naprawdę istnieje, wywołujesz select2 na
input
elemencie bez dostarczania czegokolwiek do select2, skąd powinien pobierać dane. Zazwyczaj dzwoni się.select2({data: [{id:"firstid", text:"firsttext"}])
.źródło
Występuje również ten sam błąd podczas korzystania z ajax.
Jeśli używasz Ajax do renderowania formularzy za pomocą select2, klasa input_html musi być inna niż te, które NIE są renderowane przy użyciu Ajax. Nie do końca jestem pewien, dlaczego to działa w ten sposób.
źródło
Jest to generowane, ponieważ zapytanie nie istnieje w opcjach. Wewnętrznie prowadzona jest kontrola, która wymaga jednego z poniższych parametrów
Musisz więc tylko podać jedną z tych 4 opcji do select2 i powinna działać zgodnie z oczekiwaniami.
źródło
Mam ten sam błąd. Używam select2-3.5.2
To był mój kod, który zawierał błąd
Poniższy kod naprawił problem.
źródło
Mam skomplikowaną aplikację internetową i nie mogłem dokładnie zrozumieć, dlaczego ten błąd jest generowany. Po rzuceniu JavaScript przerywał działanie.
W select2.js zmieniłem:
do:
Teraz wszystko wydaje się działać poprawnie, ale nadal loguje się błąd, na wypadek, gdybym chciał spróbować dowiedzieć się, co dokładnie w moim kodzie powoduje błąd. Ale na razie jest to dla mnie wystarczająco dobre rozwiązanie.
źródło
posługiwać się :
źródło