JQuery-Autocomplete-Plugin im Facebook-Stil [geschlossen]


78

Ich bin nach einem Plugin, um die automatische Vervollständigung durchzuführen, wie es Facebook tut, indem Sie mehrere Elemente auswählen können - ähnlich wie das Markieren einer Stackoverflow-Frage funktioniert.

Hier sind ein paar, denen ich begegnet bin:

Haben Sie eines davon ausprobiert? Waren sie einfach zu implementieren und anzupassen?


Welches Plugin hast du benutzt? Ich suche eine, die in Firefox und IE gut funktioniert
San

Warnung: Ich habe jetzt den JQuery-Token-Eingang in meinem Projekt implementiert, und es scheint, dass nicht nur dieser, sondern alle anderen hier genannten das Eingabefeld in eine separate Zeile setzen möchten. Es scheint nicht möglich zu sein, sie auf die gleiche Linie zu setzen, dh To: [..the field..]. Vielleicht ist die absolute Positionierung oder die Verwendung von Tabellen die Lösung, aber ich mag es auch nicht wirklich, aber vielleicht fehlt mir etwas.
Adrian Smith

JQuery-tokeninput hat jetzt einen Facebook-Stil, mit dem mehrere Token in derselben Zeile platziert werden können. Siehe die Demo.
Druvision

Antworten:


84

https://github.com/loopj/jquery-tokeninput

Ich habe es gerade ausprobiert und es war wirklich einfach, es mithilfe einer asp.net-Seite zu implementieren, um den JSON (über die Suchparameter) auszugeben. Dann gibt es nur ein paar Zeilen Javascript, die Sie zum Erstellen benötigen (und die Einstellungen).

$(document).ready(function() {
        $("#Users").tokenInput("../Services/Job/UnassignedUsers.aspx?p=<%= projectID %>&j=<%= jobID %>", {
        hintText: "Begin typing the user name of the person you wish to assign.",
        noResultsText: "No results",
        searchingText: "Searching..."
    });
});

Es scheint auch FireFox-Fehler zu haben
AnApprentice

@AnApprentice: Die neueste Version enthält viele Fehlerkorrekturen.
Dave Jarvis

Noch nicht unterstützt erstellen neue Tag on the fly
Deerchao

Ich mochte dieses Plugin, musste es aber für die automatische Vervollständigung von jqueryUI loslassen, da ich sofort Unterstützung brauchte
Omnipresent

3
Wenn Sie ASP.Net verwenden, können Sie mein OpenSourse-Projekt ASPTokenInput verwenden, das dem jquery-tokeninput-Plugin github.com/harindaka/ASPTokenInput/wiki
Harindaka

28

Dieser sehr gut! https://github.com/wuyuntao/jquery-autosuggest/

Wie man es benutzt

Natürlich müssen Sie sicherstellen, dass die neueste jQuery-Bibliothek (mindestens 1.3) bereits auf Ihrer Seite geladen ist. Danach ist es ganz einfach: Fügen Sie Ihrer Seite einfach den folgenden Code hinzu (stellen Sie sicher, dass Sie Ihren Code in die Ready-Funktion von jQuery einschließen):

$(function(){
    $("input[type=text]").autoSuggest(data);
});

Die obige Codezeile wendet AutoSuggest auf alle Texttypelemente input auf der Seite an. Jeder verwendet denselben Datensatz. Wenn Sie mehrere AutoSuggest-Felder auf Ihrer Seite haben möchten, die unterschiedliche Datensätze verwenden, müssen Sie diese separat auswählen. So was:

$(function(){
    $("div.someClass input").autoSuggest(data);
    $("#someID input").autoSuggest(other_data);
});

Wenn Sie die oben genannten Schritte ausführen, können Sie verschiedene Optionen und verschiedene Datensätze übergeben. Unten finden Sie ein Beispiel für die Verwendung von AutoSuggest mit einem Datenobjekt und anderen verschiedenen Optionen:

var data = {items: [
    {value: "21", name: "Mick Jagger"},
    {value: "43", name: "Johnny Storm"},
    {value: "46", name: "Richard Hatch"},
    {value: "54", name: "Kelly Slater"},
    {value: "55", name: "Rudy Hamilton"},
    {value: "79", name: "Michael Jordan"}
]};
$("input[type=text]").autoSuggest(data.items, {selectedItemProp: "name", searchObjProps: "name"});

1
Dies ist mit Abstand das beste Autosuggest-Plugin auf dem Markt. Der Benutzer kann keine doppelten Datensätze hinzufügen!
Atmorell

2
Feature reich, aber Tonnen von Fehlern. Am Ende habe ich meine eigene erstellt: the.deerchao.net/TagEditor
Deerchao

@deerchao Ihre Arbeit ist sehr sehr schön, wollte nur wissen, ob ich es mit C # -Code binden kann? Ich meine die Tags, auch wie man es im
laufenden Betrieb

@ user1074474 Standardmäßig werden nur JSON-Daten unterstützt, die von einer URL abgerufen wurden. Aber es gibt alle Quellen, Sie können alles anpassen, was Sie wollen.
Deerchao

@deerchao Hattest du ein Update für dieses Plugin? Ich versuche zu verwenden, bekomme aber diese Fehlerhilfe TypeError: $$.autocomplete is not a function [Break On This Error] close: function () {?
ReynierPM





Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.