Essayer d'utiliser Select2 et obtenir cette erreur sur plusieurs champs de saisie / texte:
"query function not defined for Select2 undefined error"
javascript
runtime-error
jquery-select2
Daniel Morris
la source
la source
$(document).ready(function() { $('select.form-select').select2()})
.select2({})
méthode. Une meilleure solution serait d'appeler d'abord la méthode destroy. Ex:$("#mySelectControl").select2("destroy").select2({});
Ce message d'erreur est trop général. Une de ses autres sources possibles est que vous essayez d'appeler la
select2()
méthode sur une entrée déjà "sélectionnée".la source
Si vous initialisez une entrée vide, procédez comme suit:
Lisez le premier commentaire ci-dessous, il explique pourquoi et quand utiliser le code dans ma réponse.
la source
select2()
n'accepte pas simplement les paramètres videsJ'ai également eu ce problème pour m'assurer que vous n'initialisez pas le select2 deux fois.
la source
Pour moi, ce problème se résumait à la définition de l'attribut data-ui-select2 correct:
Si j'enlève la
data
propriété,$scope.projectManagers
j'obtiens cette erreur.la source
Ce problème se résumait à la façon dont je construisais ma boîte de sélection select2. Dans un fichier javascript que j'avais ...
Et dans un autre fichier js, un remplacement ...
Le déplacement du deuxième remplacement dans un événement de chargement de fenêtre a résolu le problème.
Ce problème s'est développé dans une application Rails
la source
J'ai également eu la même erreur lors de l'utilisation d'ajax avec une zone de texte, puis je le résolve en supprimant la classe select2 de la zone de texte et en configurant select2 par id comme:
la source
Il semble que votre sélecteur retourne un élément indéfini (donc
undefined error
est retourné)Dans le cas où l'élément existe vraiment, vous appelez select2 sur un
input
élément sans rien fournir à select2, d'où il doit récupérer les données. Typiquement, on appelle.select2({data: [{id:"firstid", text:"firsttext"}])
.la source
J'ai également eu la même erreur lors de l'utilisation d'ajax.
Si vous utilisez ajax pour rendre les formulaires avec select2, la classe input_html doit être différente de celles NON rendues à l'aide d'ajax. Je ne sais pas trop pourquoi cela fonctionne de cette façon.
la source
Ceci est lancé car la requête n'existe pas dans les options. En interne, il y a un contrôle maintenu qui nécessite l'un des éléments suivants pour les paramètres
Il vous suffit donc de fournir l'une de ces 4 options pour select2 et cela devrait fonctionner comme prévu.
la source
J'ai eu la même erreur. J'utilise select2-3.5.2
C'était mon code qui avait une erreur
Le code ci-dessous a résolu le problème.
la source
J'ai une application Web compliquée et je ne pouvais pas comprendre exactement pourquoi cette erreur était générée. Cela provoquait l'abandon du JavaScript lorsqu'il était lancé.
Dans select2.js j'ai changé:
à:
Maintenant, tout semble fonctionner correctement, mais il enregistre toujours une erreur au cas où je voudrais essayer de comprendre ce qui exactement dans mon code est à l'origine de l'erreur. Mais pour l'instant, c'est une solution assez bonne pour moi.
la source
utilisation :
la source