Mehrere Instanzen von jQuery Autocomplete auf einer Seite

8

Ich möchte jede Instanz von jQuerys Autocomplete-Plugin auf jeder Seite anders gestalten. Außer mir kann ich nicht herausfinden, wie man die Stile so einstellt, dass sie für jede Instanz unterschiedlich sind. Ich kann nicht scheinen, die ac_ * Stile innerhalb eines div zu wickeln, um sie vom CSS zu identifizieren. Jede Veränderung, die ich mache, betrifft beides. Irgendwelche Ideen?

Danke.

    
ensnare 28.01.2010, 07:58
quelle

9 Antworten

0

Ich denke, Sie werden feststellen, dass Ihr Problem darin besteht, dass die Dropdown-Liste für die automatische Vervollständigung nicht in Ihrem Platzhalter enthalten ist ... Beispiel:

%Vor%

Wenn die Ergebnisse zurückkommen, wird der Seite ein neues div hinzugefügt, um die Ergebnisse anzuzeigen - aber nicht innerhalb Ihrer "differentStyle" -Division. Es wird nur am Ende des DOM hinzugefügt. Zum Beispiel:

%Vor%

Wenn ich die Dokumentation lese, würde ich sagen, dass es den Stil für zwei automatische Vervollständigungsfelder auf der gleichen Seite unmöglich machen würde:

Ссылка

    
Fenton 28.01.2010, 08:45
quelle
15

Verwenden Sie die Option appendTo , um die Autocomplete-Liste anstelle von body in einen benutzerdefinierten Container zu platzieren. Dann können Sie es stylen. Beispiel:

JS:

%Vor%

HTML:

%Vor%

CSS:

%Vor%     
Valentin 01.11.2011 14:16
quelle
5

Ссылка

füge etwas wie folgt hinzu:

%Vor%     
Mario 08.10.2010 07:32
quelle
2

Lösung ist sehr einfach:

%Vor%

Sie können beliebigen Code in die Klasse .yourClass

einfügen     
PayteR 05.08.2011 18:10
quelle
1

Ich habe gerade festgestellt, dass Sie den UL-Container leicht greifen können, wenn Sie jQuery UI 1.8 verwenden. Um den UI-Container in 1.8 zu erfassen, fügen Sie Ihrer geöffneten Methode einfach Folgendes hinzu:

%Vor%     
Mark Eldridge 24.03.2011 16:47
quelle
1

Sie können die Methode _renderMenu neu schreiben. Nehmen Sie Ссылка als Beispiel.

%Vor%     
user613051 11.02.2011 12:57
quelle
0

War auf der Suche nach etwas anderem, als ich über diesen Beitrag hinweg ... Dies gelang mir, indem ich die folgenden Autocomplete-Ereignisse abfing und meine eigene Klasse in das Äußere der Autocomplete-Ausgabe einfügte. Verwenden Sie dann CSS, um die Elemente nach Bedarf zu formatieren. Hoffe das hilft jemandem.

%Vor%

Beispiel css:

%Vor%

Auch als Teil meiner JSON-Ergebnisse gebe ich einfach die HTML-Shell (von meiner JAVA AJAX Action) zurück, wobei das Ergebnis als Teil des eigentlichen JSON-Ergebnisses eingebettet ist. Auf diese Weise kann ich um jedes Ergebnis ein ausgeklügeltes HTML erstellen und dann die oben beschriebene Methode verwenden, um sie so zu formatieren, wie ich es möchte.

    
Mark Eldridge 28.07.2010 18:36
quelle
0

In neueren Versionen wurde "appendTo" hinzugefügt, sodass Sie ein übergeordnetes Element für die Vorschlagsliste auswählen können. Sie könnten verschiedene Eltern (mit einem In oder einer Klasse) für Ihre Listen erstellen.

    
user845767 24.09.2012 16:15
quelle
0

Als ich dieses Problem hatte, fand ich heraus, dass jquery-ui jeder Instanz eine eindeutige ID gibt, nämlich # ui-id-1, # ui-id-2, wobei die erste Autovervollständigung in dom die Nummer 1 erhält. die zweite Nummer 2 und so weiter. Wenn also die Reihenfolge der Autokomplettierungen bekannt ist, können verschiedene Stile auf die verschiedenen IDs angewendet werden.

    
irruputuncu 04.08.2013 18:26
quelle