Der Versuch, Select2 zu verwenden und diesen Fehler in einem Eingabe- / Textfeld für mehrere Elemente zu erhalten:
"query function not defined for Select2 undefined error"
javascript
runtime-error
jquery-select2
Daniel Morris
quelle
quelle
$(document).ready(function() { $('select.form-select').select2()})
.select2({})
Methode initialisiert wurde . Eine bessere Lösung wäre, zuerst die Zerstörungsmethode aufzurufen. Beispiel:$("#mySelectControl").select2("destroy").select2({});
Diese Fehlermeldung ist zu allgemein. Eine der anderen möglichen Quellen ist, dass Sie versuchen, die
select2()
Methode für bereits "select2ed" -Eingaben aufzurufen.quelle
Wenn Sie eine leere Eingabe initialisieren, gehen Sie wie folgt vor:
Lesen Sie den ersten Kommentar unten, er erklärt, warum und wann Sie den Code in meiner Antwort verwenden sollten.
quelle
select2()
Ich hatte auch dieses Problem, stellen Sie sicher, dass Sie die select2 nicht zweimal initialisieren.
quelle
Für mich lief dieses Problem darauf hinaus, das richtige data-ui-select2-Attribut festzulegen:
Wenn ich die
data
Eigenschaft auf$scope.projectManagers
entferne, erhalte ich diesen Fehler.quelle
Dieses Problem beschränkte sich darauf, wie ich mein Auswahlfeld select2 erstellt habe. In einer Javascript-Datei hatte ich ...
Und in einer anderen js-Datei eine Überschreibung ...
Durch Verschieben der zweiten Überschreibung in ein Fensterladeereignis wurde das Problem behoben.
Dieses Problem trat in einer Rails-Anwendung auf
quelle
Ich habe auch den gleichen Fehler erhalten, wenn ich Ajax mit einem Textfeld verwende. Dann löse ich ihn, indem ich die Klasse select2 des Textfelds entferne und select2 anhand der ID wie folgt einrichte:
quelle
Es scheint, dass Ihr Selektor ein undefiniertes Element zurückgibt (daher
undefined error
wird zurückgegeben)Falls das Element wirklich vorhanden ist, rufen Sie select2 für ein
input
Element auf, ohne select2 etwas anzugeben, von dem es die Daten abrufen soll. Normalerweise ruft man an.select2({data: [{id:"firstid", text:"firsttext"}])
.quelle
Habe auch den gleichen Fehler bei der Verwendung von Ajax.
Wenn Sie Ajax zum Rendern von Formularen mit select2 verwenden, muss sich die Klasse input_html von der Klasse unterscheiden, die NICHT mit Ajax gerendert wurde. Ich bin mir nicht ganz sicher, warum es so funktioniert.
quelle
Dies wird ausgelöst, da die Abfrage in den Optionen nicht vorhanden ist. Intern wird eine Prüfung durchgeführt, für die eine der folgenden Parameter erforderlich ist
Sie müssen also nur eine dieser 4 Optionen für select2 angeben, und es sollte wie erwartet funktionieren.
quelle
Ich habe den gleichen Fehler bekommen. Ich habe select2-3.5.2 verwendet
Dies war mein Code, der einen Fehler hatte
Der folgende Code hat das Problem behoben.
quelle
Ich habe eine komplizierte Web-App und konnte nicht genau herausfinden, warum dieser Fehler ausgelöst wurde. Das JavaScript wurde abgebrochen, wenn es geworfen wurde.
In select2.js habe ich geändert:
zu:
Jetzt scheint alles richtig zu funktionieren, aber es meldet sich immer noch ein Fehler an, falls ich versuchen möchte herauszufinden, was genau in meinem Code den Fehler verursacht. Aber im Moment ist das eine gute Lösung für mich.
quelle
verwenden :
quelle