So verhindern Sie das Duplizieren mit Bootstrap Tokenfield bei Verwendung von Jquery Ui Autocomplete

8

Ich versuche Bootstrap Tokenfield mit Jquery Ui Autocomplete zu implementieren  und bis jetzt konnte ich das tun, außer dass ich nicht in der Lage bin, duplikate im Eingabefeld zu verhindern, also kann mein Benutzer den gleichen Wert zweimal wählen.

Bei meiner Suche habe ich festgestellt, dass Bootstrap Tokenfield einen Weg hat, Duplikate zu verhindern . Allerdings weiß ich nicht, wie ich mich auf meinen Code bewerben soll, da es für mich so aussieht, dass es mit Twitter typeahead geht und nicht mit Jquery Ui.

Wie kann ich das Duplizieren mit Bootstrap TokenField mit Jquery Ui Autocomplete verhindern?

Dies ist mein Bootstrap TokenField Code basierend auf jquery ui Autocomplete

%Vor%

Und unten ist, was ich auf Github gefunden habe, um doppelte zu verhindern, obwohl ich denke, dass es für Typeahead

ist %Vor%     
Ferdine Faithfull 24.02.2015, 06:05
quelle

4 Antworten

15

Ich denke, du hast alles gemacht, du musst nur noch die Klasse ersetzen

Nach dem ersten Code schreiben Sie statt des zweiten Codes

%Vor%

Der Unterschied hier ist Ihre Klasse, die angewendet werden muss und sie funktioniert sowohl für Twitter Typeahead als auch für Jquery Ui

    
Man Of God 24.02.2015, 06:12
quelle
1

Dies verhindert, dass Elemente aufgelistet werden, die bereits als Token hinzugefügt wurden:

%Vor%

Diese Funktion wird aufgerufen, nachdem Token erstellt oder gelöscht wurde, um die Liste zu aktualisieren. Es verwendet JSON.stringify (), um Objekte zu vergleichen, und führt den Vergleich für String-Objekte und für {value: "foo", label: "bar"} Quellobjekte durch.

    
Javier Giovannini 17.04.2015 12:05
quelle
0
%Vor%     
neeraj kumar 20.01.2016 11:13
quelle
0

@Javier Deine Lösung funktioniert gut, aber manchmal wird sie fehlerhaft und du erhältst das doppelte Token! Hast du eine Idee für dieses Verhalten?

PS Nach der Dokumentation habe ich die Lösung gefunden. Beide Event-Handling sind erforderlich. Weil Ereignisse vor und nach dem Erstellen / Bearbeiten / Entfernen von Tokens ausgelöst werden.

Sie benötigen dies also, um das Hinzufügen (vor dem Erstellen eines Ereignisses) zu verhindern.

%Vor%

Und das auch, wie Sie vorgeschlagen haben, für die Quellliste (nach dem Erstellungs-Ereignis)

%Vor%

HINWEIS: Ich habe die "Check-Schleife" geändert (doppelt für Überkilling) und eine Überprüfung hinzugefügt, um eine "großgeschriebene" Übereinstimmung zu vermeiden, falls Sie sie benötigen.

%Vor%     
GrayFox 27.02.2017 01:17
quelle