J'ai essayé le nouveau Select2 v4.0 qui comporte de nombreuses améliorations. Je suis principalement intéressé par la fonctionnalité tags
. Je veux pouvoir rechercher des tags via ajax et only, pouvoir sélectionner un tag parmi les résultats affichés et ne pas pouvoir créer de nouveaux tags. La fonctionnalité est similaire à celle de StackOverflow. Si vous ne disposez pas de la réputation nécessaire, vous ne pouvez pas créer de nouveaux tags, mais vous pouvez toujours taguer une question avec des tags existants.
Voici un jsfiddle avec mon code tiré des exemples. Dans l'exemple, vous pouvez créer de nouveaux tags que je veux limiter. L'utilisateur devrait pouvoir sélectionner les étiquettes uniquement dans la liste extraite de GitHub via ajax.
Est-ce que quelqu'un sait comment désactiver cette fonctionnalité?
Cela devrait fonctionner - lors de l'initialisation de select2, essayez de renvoyer undefined depuis la fonction createTag comme suit:
createTag: function(params) {
return undefined;
}
J'ai eu du mal avec ça aussi, mais ça a fonctionné après quelques heures.
J'avais spécifié quelques séparateurs de jetons (car mes visiteurs sont autorisés à créer des tags à un endroit différent du site). Il s'avère que les séparateurs sont toujours appliqués même si la configuration tags
est définie sur false
.
Solution: tags: false
et N'ajoutez PAS de valeur pour tokenSeperators
. Gardez multiple: true
.
Vous pouvez désactiver les balises en supprimant tags: true
lors de l'initialisation de Select2. Ou bien, définissez tags: false
lors de l'initialisation de Select2. Les balises ne sont activées que si l'option tags
est true (vérité) , ce qui est le cas lorsque vous passez true
.
Je ne sais pas si je devrais ajouter ce qui suit ici, mais comme je cherchais le même problème, Google m'a fait remarquer cette question. Cependant, j'utilise une ancienne version 3.x et voici comment obtenir le même scénario pour les versions 3.x.
Testé sur la version 3.5
createSearchChoice: function(params) {
return undefined;
}