So deaktivieren Sie das Element in der jQuery-Autocomplete-Liste

9

Ist es möglich, ein Listenelement in einer Autovervollständigung zu deaktivieren, sodass es nicht auswählbar (und ausgegraut) ist?

Ich habe diesen Code von der jQuery-UI-Beispielseite:

HTML:

%Vor%

jQuery:

%Vor%

Als ein Beispiel - ist es möglich, das letzte Element zu deaktivieren, wenn mehr als 3 Elemente in der Liste sind?

In meinem echten Code habe ich eine AJAX-Anfrage, aber ich möchte nicht mehr als 20 Ergebnisse in der Autocomplete-Box anzeigen. Wenn es mehr als das gibt, sollte es etwas wie "Bitte grenzen Sie Ihre Suche ein" und deaktiviere das letzte Element, so dass es nicht wählbar ist (aber nur das letzte Element sollte deaktiviert sein).

Der obige Code ist hier mit einer Fiddle-Demo, Ссылка

    
DHS 27.08.2013, 06:25
quelle

2 Antworten

20

Wenn ich richtig verstanden habe, möchten Sie eine deaktivierte Option mit der Meldung hinzufügen, dass die Suche einzugrenzen ist, wenn die Ergebnisse mehr als X sind. Dafür benötigen Sie eine benutzerdefinierte response und Rendermethoden:

Arbeitsgeige

%Vor%

Weitere Informationen zur Antwortmethode finden Sie in der Dokumentation . Die Funktion _renderItem ist nicht dokumentiert, aber ich fand es im Quellcode eines der Beispiele

    
koala_dev 27.08.2013, 07:11
quelle
3

Mit etwas Trickarbeit könntest du etwas tun:

JS

%Vor%

CSS

%Vor%

Ссылка

BEARBEITEN:

Sie müssen den Renderer dann ändern:

%Vor%

EDIT 2, e.toElement Trick

fand dies, während er in das Ereignis schaute:

%Vor%

Keine Notwendigkeit mehr für das CSS.

Ссылка

    
TecHunter 27.08.2013 06:47
quelle

Tags und Links