Wie kann ich das Erstellen neuer Tags mit select2 v4.0 deaktivieren?
Lesezeit: 3 Minuten
tftd
Ich habe das Neue ausprobiert Select2 v4.0 die viele Verbesserungen hat. Ich interessiere mich hauptsächlich für die tags Besonderheit. Ich möchte in der Lage sein, über Ajax und nach Tags zu suchen nur können ein Tag aus den angezeigten Ergebnissen auswählen und keine neuen Tags erstellen. Die Funktionalität ist ähnlich wie bei StackOverflow – wenn Sie nicht über die erforderliche Reputation verfügen, können Sie keine neuen Tags erstellen, aber Sie können eine Frage trotzdem mit vorhandenen Tags taggen.
Hier ist ein jsfiddle mit meinem Code, der aus den Beispielen stammt. Im Beispiel können Sie neue Tags erstellen, die ich einschränken möchte. Der Benutzer sollte in der Lage sein, Tags nur aus der Liste auszuwählen, die von GitHub über Ajax abgerufen wird.
Weiß jemand, wie man diese Funktion deaktiviert?
Dies sollte funktionieren – versuchen Sie bei der Initialisierung von select2, undefined von der createTag-Funktion wie folgt zurückzugeben:
createTag: function(params) {
return undefined;
}
Entschuldigung für die späte Antwort. Das scheint bei mir gut zu funktionieren. Ich danke Ihnen für das Teilen! 🙂
– tftd
3. Juli 2015 um 14:27 Uhr
@tftd können Sie die Geige mit dieser Lösung aktualisieren, da ich versucht habe, die von Ihnen gesendete Geige zu aktualisieren, aber sie funktioniert darin nicht.
– Neha Choudhary
1. März 2016 um 12:15 Uhr
Anscheinend hieß das früher createSearchChoice() vor 4.0 (3.5.3) Select2. Sie haben viele Funktionsnamen geändert, als sie auf 4.0 umgestiegen sind.
– David R. Tribble
10. Mai 2016 um 20:33 Uhr
Ich frage mich … warum das tun, wenn ihre eigene Dokumentation darauf hinweist tags: false? select2.org/tagging
– Raffael
21. August 2018 um 14:10 Uhr
Ich habe auch damit zu kämpfen, aber es funktioniert nach ein paar Stunden.
Ich hatte ein paar Token-Trennzeichen angegeben (da meine Besucher Tags an einer anderen Stelle auf der Website erstellen dürfen). Es stellt sich heraus, dass die Trennzeichen immer noch angewendet werden, auch wenn die tags Konfiguration eingestellt ist false.
Lösung: tags: false und fügen Sie KEINEN Wert für hinzu tokenSeperators. Behalten multiple: true.
Sie können Tags deaktivieren, indem Sie sie entfernen tags: true beim Initialisieren von Select2. Oder alternativ Einstellung tags: false beim Initialisieren von Select2. Tags sind nur aktiviert wenn die tags Option ist Wahrheitdas ist es, wenn Sie vorbeikommen true.
Ich suche folgendes visuelle Wirkung. Wenn ich setze tags: false (oder lassen Sie es einfach weg), es wird zu einem Auswahlfeld zurückgekehrt. In meinem Fall brauche ich es, um eher zu funktionieren Tag-it statt einer Auswahlbox.
– tftd
27. Mai 2015 um 2:07 Uhr
Ich bin mir nicht ganz sicher, was Sie meinen, und leider ist es ohne jsfiddle/jsbin zum Ansehen (was Sie gerade haben und was Sie wollen) schwierig, etwas über die Frage in Ihrem Titel hinaus zu beantworten. Ich bin mir nicht sicher, was Sie mit “Zurück zu einem Auswahlfeld” meinen. Suchen Sie die multiple Option zufällig?
– Kevin Brown-Silva
27. Mai 2015 um 2:10 Uhr
Ich habe es wahrscheinlich nicht gut genug erklärt – sorry dafür. Was ich meinte ist, dass wenn ich entferne tags: false es wird zu einer Auswahlbox wie der Remote-Daten laden Beispiel. Ich habe meine Frage aktualisiert. Hoffe das macht mehr Sinn?
– tftd
27. Mai 2015 um 14:36 Uhr
Ich denke, er sagt, er möchte, dass Benutzer einen vorhandenen Tag-Wert auswählen müssen und nicht in der Lage sind, ihren eigenen benutzerdefinierten neuen Tag-Wert einzugeben. Ich bin selbst hinter der gleichen Funktionalität her. Stackoverflow zum Beispiel lässt Benutzer mit niedrigen Punktzahlen keine neuen Tags erstellen