2009-12-01 5 views
8

http://community.sciencecareers.org/mt-static/plugins/CommunityPlus/js/autocomplete/ http://community.sciencecareers.org/mt-static/plugins/CommunityPlus/js/autocomplete/demo/Wie kann ich das Autocomplete-Plugin von jQuery beim Laden der Seite anzeigen lassen?

Der Versuch, die Anzeige der automatischen Vervollständigung Liste Ergebnisse programmatisch auszulösen. Dies, anstatt auf Benutzereingaben zu warten.

Ist das machbar? (Ich habe versucht, den Fokus des Elements, Aufruf eines Javascript-Pfeil-Taste Ereignis. Kein Würfel)

+0

Erm, warum wollen Sie es auf diese Weise? So können Benutzer die Liste sehen, um zu entscheiden, was ausgewählt werden soll, bevor sie irgendetwas eingeben? –

+0

jquery ui hat eine spezifische Bedeutung - http://jqueryui.com/ -, ich denke, dass das Tag entfernt werden könnte. – artlung

+0

o.k.w: ja, re: "So können Benutzer die Liste sehen, um zu entscheiden, was sie auswählen sollen, bevor sie etwas tippen?" –

Antwort

7

Wenn und nur wenn Sie eine Version von jQuery 1.3 oder höher verwenden, können Sie ein jQuery.Event Objekt erstellen, dann trigger() es. Ich konnte es nur zum Laufen bringen, wenn das Element auch fokussiert ist. So funktioniert dieser Code für das "E-Mail (lokal):" Beispiel auf .

var e = jQuery.Event("keydown"); 
e.which = 40; 
$('#suggest13').trigger('focus').attr('value',' ').trigger(e); 

Ich bin nicht sicher genau das, was Ihre Situation ist, ich denke, es ist etwas abhängig von der Autovervollständigen tatsächlich etwas zeigt, wenn nur ein Raum gedrückt wird. Das ist nicht immer der Fall.

+0

Ja, das war mir schon aufgefallen. Danke trotzdem! Leider stecke ich vorerst mit jQuery 1.2.6 fest. –

5
$("#mainCombo_input").trigger('keydown.autocomplete'); will open the autocomplete div and also to display the dropdown. 

Und Sie auch

$("#mainCombo_input").val("Item1");  
$("#mainCombo_input").trigger('keydown.autocomplete'); to open div with on 
+0

Dies schien nur beim ersten Klicken auf die Schaltfläche zu funktionieren. – Josh

+0

Die erste Option hier, die 'keydown.autocomplete' ausgelöst hat, hat perfekt funktioniert! – eidylon

5

und was diese nicht verwenden kann? $("#autocompleteid").autocomplete("search")

+1

Der Aufruf von 'search' scheint zu einem Autocomplete-Dropdown zu führen, das nach Auswahl eines Wertes nicht schließt. – eidylon

+0

Es basiert auf Ereignissen hier: http://jqueryui.com/demos/autocomplete/#events. Ich weiß nicht, ob dein Verhalten durch meinen Code oder deinen Code verursacht wird, schau in jedem Fall auf den Link. Ich denke, Sie können Auswahl- und Schließungsfunktionen kombinieren. – simPod

+0

gute Antwort Kumpel, danke! :) –

0

Pro documentation können Sie eine Suche auslösen (auch in anderen Antworten erwähnt). Da Ihr Fall beim Laden der Seite wird möglicherweise nicht alle Daten auf dem Eingabefeld haben werden Sie müssen minLength vor eine leere Suche ändern ran:

$yourInputField.autocomplete('option', 'minLength', 0); 
$yourInputField.autocomplete('search', ""); 
Verwandte Themen