jQuery UI API - Autocomplete Widget

Kategorien

小部件

Nutzung

Beschreibung:Die Autocomplete-Funktion sucht und filtert basierend auf der Benutzereingabe und ermöglicht es Benutzern, schnell aus einer vordefinierten Liste von Werten zu finden und auszuwählen.

添加版本:1.8

Jedes Feld, das Eingaben empfangen kann, kann in ein Autocomplete umgewandelt werden, d. h.,<input>input-Elemente,<textarea>textarea-Elemente undcontenteditableElemente mit einem contenteditable-Attribut.

Wenn das Autocomplete-Feld fokussiert wird oder Zeichen darin eingegeben werden, beginnt das Plugin mit der Suche nach passenden Einträgen und zeigt eine Liste von Werten zur Auswahl an. Durch die Eingabe weiterer Zeichen kann der Benutzer die Liste filtern, um bessere Übereinstimmungen zu erhalten.

Dieses Widget kann verwendet werden, um zuvor ausgewählte Werte auszuwählen, z. B. zum Eingeben von Artikel-Tags oder zum Eingeben von E-Mail-Adressen aus einem Adressbuch. Autocomplete kann auch verwendet werden, um zugehörige Informationen auszufüllen, z. B. durch Eingabe eines Stadtnamens, um die Postleitzahl dieser Stadt zu erhalten.

Sie können Daten aus einer lokalen Quelle oder einer entfernten Quelle abrufen: Eine lokale Quelle eignet sich für kleine Datensätze, z. B. ein Adressbuch mit 50 Einträgen; eine entfernte Quelle eignet sich für große Datensätze, z. B. eine Datenbank mit Hunderten oder Tausenden von Einträgen. Weitere Informationen zu benutzerdefinierten Datenquellen finden Sie insourceder Dokumentation für die Option.

Tastaturinteraktion

Wenn das Menü geöffnet ist, sind die folgenden Tastaturbefehle verfügbar:

  • UP – Fokus zum vorherigen Element verschieben. Wenn Sie sich auf dem ersten Element befinden, den Fokus zum Eingabefeld verschieben. Wenn Sie sich im Eingabefeld befinden, den Fokus zum letzten Element verschieben.
  • DOWN – Fokus zum nächsten Element verschieben. Wenn Sie sich auf dem letzten Element befinden, den Fokus zum Eingabefeld verschieben. Wenn Sie sich im Eingabefeld befinden, den Fokus zum ersten Element verschieben.
  • ESCAPE – Menü schließen.
  • ENTER – Das aktuell fokussierte Element auswählen und das Menü schließen.
  • TAB – Das aktuell fokussierte Element auswählen, das Menü schließen und den Fokus zum nächsten fokussierbaren Element verschieben.
  • PAGE UP/DOWN – Eine Bildschirmseite voller Elemente scrollen (basierend auf der Höhe des Menüs).

Wenn das Menü geschlossen ist, sind die folgenden Tastaturbefehle verfügbar:

  • OBEN/UNTEN - Wenn erfüllt,minLengthdann das Menü öffnen.

主题

Das Autocomplete-Widget verwendetdas jQuery UI CSS Framework, um die Styles für sein Erscheinungsbild und Verhalten festzulegen. Wenn Sie Styles verwenden müssen, die spezifisch für das Autocomplete-Widget sind, können Sie die folgenden CSS-Klassennamen verwenden:

  • ui-autocomplete: Wird verwendet, um das passendeMenü anzuzeigen.
  • ui-autocomplete-input: Das vom Autocomplete-Widget instanziierte Eingabeelement.

Abhängigkeiten

Zusätzliche Hinweise

  • Dieses Widget benötigt etwas funktionales CSS, andernfalls funktioniert es nicht. Wenn Sie ein benutzerdefiniertes Theme erstellen, verwenden Sie die widgetspezifische CSS-Datei als Ausgangspunkt.
  • Dieses Widget arbeitet programmgesteuert mit dem Wert des Elements, sodass es beim Ändern des Elementwerts nicht das native auslöstchangeEreignis.

Schnellnavigation

Optionen Methoden Erweiterungspunkte Ereignisse

Optionen Type Beschreibung Standardwert
appendTo Selektor Das Element, an das das Menü angehängt werden soll. Wenn dieser Wertnull, sucht das übergeordnete Element des Eingabefelds nachui-frontclass. Wenn ein Element mitui-frontclass gefunden wird, wird das Menü an dieses Element angehängt. Wenn kein Element mitui-frontclass gefunden wird, wird das Menü unabhängig vom Wert an den body angehängt.

Hinweis: Wenn das Vorschlagsmenü geöffnet ist,appendTosollte die Option nicht geändert werden.

Codebeispiele:

Initialisiert ein Autocomplete mit der angegebenenappendTooption:

$( ".selector" ).autocomplete({ appendTo: "#someElem" });
    

Nach der Initialisierung abrufen oder festlegenappendTooption:

// getter
var appendTo = $( ".selector" ).autocomplete( "option", "appendTo" );
 
// setter
$( ".selector" ).autocomplete( "option", "appendTo", "#someElem" );
    
null
autoFocus Boolean Wenn festgelegt auftrue, wenn das Menü angezeigt wird, erhält das erste Element automatisch den Fokus.

Codebeispiele:

Initialisiert ein Autocomplete mit der angegebenenautoFocusoption:

$( ".selector" ).autocomplete({ autoFocus: true });
    

Nach der Initialisierung abrufen oder festlegenautoFocusoption:

// getter
var autoFocus = $( ".selector" ).autocomplete( "option", "autoFocus" );
 
// setter
$( ".selector" ).autocomplete( "option", "autoFocus", true );
    
false
delay Integer Die Verzögerung zwischen einem Tastendruck und der Ausführung der Suche, in Millisekunden. Bei lokalen Daten ist eine Verzögerung von null sinnvoll (reaktionsschneller), bei Remote-Daten erzeugt sie jedoch eine hohe Last und verringert die Reaktionsfähigkeit.

Codebeispiele:

Initialisiert ein Autocomplete mit der angegebenendelayoption:

$( ".selector" ).autocomplete({ delay: 500 });
    

Nach der Initialisierung abrufen oder festlegendelayoption:

// getter
var delay = $( ".selector" ).autocomplete( "option", "delay" );
 
// setter
$( ".selector" ).autocomplete( "option", "delay", 500 );
    
300
disabled Boolean Wenn festgelegt auftrue, die Autovervollständigung ist deaktiviert.

Codebeispiele:

Initialisiert ein Autocomplete mit der angegebenendisabledoption:

$( ".selector" ).autocomplete({ disabled: true });
    

Nach der Initialisierung abrufen oder festlegendisabledoption:

// getter
var disabled = $( ".selector" ).autocomplete( "option", "disabled" );
 
// setter
$( ".selector" ).autocomplete( "option", "disabled", true );
    
false
minLength Integer Die Mindestanzahl an Zeichen, die der Benutzer eingeben muss, bevor eine Suche ausgeführt wird. Bei lokalen Daten mit nur wenigen Einträgen wird sie üblicherweise auf null gesetzt, aber wenn eine Suche mit einem einzelnen Zeichen Tausende von Einträgen finden würde, ist es erforderlich, einen hohen Wert festzulegen.

Codebeispiele:

Initialisiert ein Autocomplete mit der angegebenenminLengthoption:

$( ".selector" ).autocomplete({ minLength: 0 });
    

Nach der Initialisierung abrufen oder festlegenminLengthoption:

// getter
var minLength = $( ".selector" ).autocomplete( "option", "minLength" );
 
// setter
$( ".selector" ).autocomplete( "option", "minLength", 0 );
    
1
position Objekt Gibt die Position des Vorschlagsmenüs relativ zum zugeordneten Eingabeelement an.ofDie Option verwendet standardmäßig das Eingabeelement, aber Sie können ein anderes Positionierungselement angeben. Weitere Details zu den verschiedenen Optionen finden Sie unterjQuery UI Position。

Codebeispiele:

Initialisiert ein Autocomplete mit der angegebenenpositionoption:

$( ".selector" ).autocomplete({ position: { my : "right top", at: "right bottom" } });
    

Nach der Initialisierung abrufen oder festlegenpositionoption:

// getter
var position = $( ".selector" ).autocomplete( "option", "position" );
 
// setter
$( ".selector" ).autocomplete( "option", "position", { my : "right top", at: "right bottom" } );
    
{ my: "left top", at: "left bottom", collision: "none" }
source Array oder String oder Function( Object request, Function response( Object data ) ) Definiert die zu verwendenden Daten und muss angegeben werden.

Unabhängig von der verwendeten Variable wird die Beschriftung immer als Text behandelt. Wenn die Beschriftung als HTML behandelt werden soll, können SieScott González' HTML-Erweiterung verwenden. Die Demo konzentriert sich aufsourcedie verschiedenen Varianten der Option - Sie können diejenige finden, die zu Ihrer Verwendung passt, und den zugehörigen Code ansehen.

Mehrere Typen werden unterstützt:

  • Array: Ein Array, das für lokale Daten verwendet werden kann. Zwei Formate werden unterstützt:
    • String-Array:[ "Choice1", "Choice2" ]
    • Ein Array von Objekten mitlabelundvalueAttributen:[ { label: "Choice1", value: "value1" }, ... ]
    Das label-Attribut wird im Vorschlagsmenü angezeigt. Wenn der Benutzer ein Element auswählt, wird der Wert in das input-Element eingefügt. Wenn nur ein Attribut angegeben wird, wird dieses Attribut sowohl als label als auch als value behandelt. Wenn Sie beispielsweise nurvaluedas Attribut angeben, wird der Wert auch als label behandelt.
  • String: Wenn eine Zeichenfolge verwendet wird, erwartet das Autocomplete-Plugin, dass die Zeichenfolge auf eine URL-Ressource verweist, die JSON-Daten zurückgeben kann. Sie kann sich auf demselben Host oder auf einem anderen Host befinden (muss JSONP bereitstellen). Das Autocomplete-Plugin filtert die Ergebnisse nicht, sondern fügt stattdessen durch eintermFeld eine Abfragezeichenfolge hinzu, damit das serverseitige Skript die Ergebnisse filtern kann. Wenn beispielsweisesourcedie Option auf"http://example.com"gesetzt ist, und der Benutzerfooeingibt, wäre die GET-Anfragehttp://example.com?term=foo. Das Format der Daten selbst kann dasselbe sein wie das Format der zuvor beschriebenen lokalen Daten.
  • Funktion: Die dritte Variable, eine Callback-Funktion, bietet die größte Flexibilität und kann verwendet werden, um jede Datenquelle mit dem Autocomplete-Plugin zu verbinden. Die Callback-Funktion akzeptiert zwei Parameter:
    • einrequestObjekt, mit einemtermAttribut, das den Wert in der aktuellen Texteingabe darstellt. Wenn der Benutzer beispielsweise in das Stadtfeld eingibt"new yo", dann entspricht der Autocomplete-Begriff der"new yo"。
    • aresponseCallback-Funktion, die einen einzelnen Parameter bereitstellt: die dem Benutzer vorgeschlagenen Daten. Die Daten sollten basierend auf dem bereitgestellten Begriff gefiltert werden und können in einem der oben beschriebenen lokalen Datenformate vorliegen. Wird verwendet, um einen benutzerdefinierten Quell-Callback bereitzustellen, um Fehler während der Anfrage zu behandeln. Auch wenn ein Fehler auftritt, müssen Sieresponsedie Callback-Funktion aufrufen. Dadurch wird sichergestellt, dass sich das Widget immer im richtigen Zustand befindet.

    Beim Filtern lokaler Daten können Sie die integrierte$.ui.autocomplete.escapeRegexFunktion verwenden. Sie akzeptiert ein String-Argument, maskiert alle Zeichen regulärer Ausdrücke und macht das Ergebnis sicher für die Übergabe annew RegExp()。

Codebeispiel:

Initialisieren Sie das Autocomplete mit den angegebenensourceOptionen:

$( ".selector" ).autocomplete({ source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ] });
    

Nach der Initialisierung abrufen oder festlegensourceoption:

// getter
var source = $( ".selector" ).autocomplete( "option", "source" );
 
// setter
$( ".selector" ).autocomplete( "option", "source", [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ] );
    
keine; muss angegeben werden

Methoden Gibt zurück Beschreibung
close() jQuery (nur Plugin) Schließt das Autocomplete-Menü. Wenn sie mit dersearchMethode verwendet wird, kann sie verwendet werden, um ein geöffnetes Menü zu schließen.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Rufen Sie die close-Methode auf:

$( ".selector" ).autocomplete( "close" );
    
destroy() jQuery (nur Plugin) Entfernt die Autocomplete-Funktionalität vollständig. Dadurch wird das Element in seinen Zustand vor der Initialisierung zurückversetzt.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Rufen Sie die destroy-Methode auf:

$( ".selector" ).autocomplete( "destroy" );
    
disable() jQuery (nur Plugin) Deaktiviert das Autocomplete.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Rufen Sie die disable-Methode auf:

$( ".selector" ).autocomplete( "disable" );
    
enable() jQuery (nur Plugin) Aktiviert das Autocomplete.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Rufen Sie die enable-Methode auf:

$( ".selector" ).autocomplete( "enable" );
    
option( optionName ) Objekt Ruft den Wert ab, der derzeit dem angegebenen zugeordnet istoptionNameOption.
  • optionName
    Typ: String
    Beschreibung: Der Name der Option, die abgerufen werden soll.

Codebeispiel:

Methode aufrufen:

var isDisabled = $( ".selector" ).autocomplete( "option", "disabled" );
    
option() PlainObject Ruft ein Objekt ab, das Schlüssel/Wert-Paare enthält, die den aktuellen Autocomplete-Options-Hash repräsentieren.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Methode aufrufen:

var options = $( ".selector" ).autocomplete( "option" );
    
option( optionName, value ) jQuery (nur Plugin) Legt den Wert der Autocomplete-Option fest, die dem angegebenen zugeordnet istoptionNameOption.
  • optionName
    Typ: String
    Beschreibung: Der Name der Option, die festgelegt werden soll.
  • value
    Typ: Object
    Beschreibung: Der Wert, der für die Option festgelegt werden soll.

Codebeispiel:

Methode aufrufen:

$( ".selector" ).autocomplete( "option", "disabled", true );
    
option( options ) jQuery (nur Plugin) Legt eine oder mehrere Optionen für das Autocomplete fest.
  • options
    Typ: Object
    Beschreibung: Die Options-Wert-Paare, die festgelegt werden sollen.

Codebeispiel:

Methode aufrufen:

$( ".selector" ).autocomplete( "option", { disabled: true } );
    
widget() jQuery Gibt einjQueryObjekt, das das Menüelement enthält.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Die widget-Methode aufrufen:

$( ".selector" ).autocomplete( "widget" );
    

Erweiterungspunkte Gibt zurück Beschreibung
Das Autocomplete-Widget wird über dieWidget Factoryerstellt und kann erweitert werden. Beim Erweitern des Widgets können Sie Verhaltensweisen für das Erweiterungs-Widget überschreiben oder hinzufügen. Die unten bereitgestellten Methoden dienen als Erweiterungspunkte und haben dieselbe API-Stabilität wie diePlugin-Methoden, die oben aufgelistet sind. Weitere Informationen zu Widget-Erweiterungen finden Sie unterErweitern von Widgets mit der Widget Factory.
_renderItem( ul, item ) jQuery Methode, die die Erstellung jeder Option im Menü des Widgets steuert. Die Methode muss ein neues <li> Element erstellen, es an das Menü anhängen und es zurückgeben.

Hinweis: Derzeit muss das<ul> erstellte Element ein <a> Element für die Kompatibilität mit dem Menü-Widget. Siehe das Beispiel unten.

  • ul
    Typ: jQuery
    Beschreibung: Das neu erstellte<li>Element muss angehängt werden an das<ul>Element.
  • item
    Typ: Object
    • label
      Typ: String
      Beschreibung: Die Zeichenfolge, die für den Eintrag angezeigt werden soll.
    • item
      Typ: String
      Beschreibung: Der Wert, der in das Eingabefeld eingefügt wird, wenn der Eintrag ausgewählt wird.

Codebeispiel:

Fügen Sie den Wert des Eintrags als<li>ein Datenattribut an

_renderItem: function( ul, item ) {
  return $( "<li>" )
    .attr( "data-value", item.value )
    .append( $( "<a>" ).text( item.label ) )
    .appendTo( ul );
}
    
_renderMenu( ul, items ) jQuery (nur Plugin) Diese Methode ist dafür verantwortlich, die Menügröße anzupassen, bevor das Menü angezeigt wird. Das Menüelement kann abgerufen werden durchthis.menu.elementVerwendung von.
  • ul
    Typ: jQuery
    Beschreibung: Ein leeres<ul>Element, das als Menü des Widgets verwendet werden soll.
  • items
    Typ: Array
    Beschreibung: Ein Array von Elementen, die mit der Benutzereingabe übereinstimmen. Jedes Element ist ein Objekt mit einerlabelundvalueEigenschaft.

Codebeispiel:

Fügt den alten Menüelementen einen CSS-Klassennamen hinzu.

_renderMenu: function( ul, items ) {
  var that = this;
  $.each( items, function( index, item ) {
    that._renderItemData( ul, item );
  });
  $( ul ).find( "li:odd" ).addClass( "odd" );
}
    
_resizeMenu() jQuery (nur Plugin) Diese Methode ist dafür verantwortlich, die Menügröße anzupassen, bevor das Menü angezeigt wird. Das Menüelement kann abgerufen werden durchthis.menu.elementVerwendung von.
  • Diese Methode akzeptiert keine Argumente.

Codebeispiel:

Das Menü wird immer 500 Pixel breit angezeigt.

_resizeMenu: function() {
  this.menu.element.outerWidth( 500 );
}
    

Ereignisse Type Beschreibung
change( event, ui ) autocompletechange Wird ausgelöst, wenn sich der Wert des Eingabefelds ändert.
  • event
    Typ: Event
  • ui
    Typ: Object
    • item
      Typ: Object
      Beschreibung: Das aus dem Menü ausgewählte Element, andernfalls ist die Eigenschaftnull。

Codebeispiel:

Initialisiert die Autocomplete mit dem angegebenen Change-Callback:

$( ".selector" ).autocomplete({
  change: function( event, ui ) {}
});
    

Binden Sie einen Event-Listener an das autocompletechange-Ereignis:

$( ".selector" ).on( "autocompletechange", function( event, ui ) {} );
    
close( event, ui ) autocompleteclose Wird ausgelöst, wenn das Menü ausgeblendet wird. Nicht jedescloseEreignis wird von einemchangeEreignis.
  • event
    Typ: Event
  • ui
    Typ: Object

Hinweis:uiDas Objekt ist leer; es ist zur Konsistenz mit anderen Ereignissen enthalten.

Codebeispiel:

Initialisieren Sie das Autocomplete mit dem angegebenen Close-Callback:

$( ".selector" ).autocomplete({
  close: function( event, ui ) {}
});
    

Binden Sie einen Event-Listener an das autocompleteclose-Ereignis:

$( ".selector" ).on( "autocompleteclose", function( event, ui ) {} );
    
create( event, ui ) autocompletecreate Wird ausgelöst, wenn das Autocomplete erstellt wird.
  • event
    Typ: Event
  • ui
    Typ: Object

Hinweis:uiDas Objekt ist leer; es ist zur Konsistenz mit anderen Ereignissen enthalten.

Codebeispiel:

Initialisieren Sie das Autocomplete mit dem angegebenen Create-Callback:

$( ".selector" ).autocomplete({
  create: function( event, ui ) {}
});
    

Binden Sie einen Event-Listener an das autocompletecreate-Ereignis:

$( ".selector" ).on( "autocompletecreate", function( event, ui ) {} );
    
focus( event, ui ) autocompletefocus Wird ausgelöst, wenn der Fokus auf einen Eintrag (nicht ausgewählt) wechselt. Die Standardaktion besteht darin, den Wert im Textfeld durch den Wert des fokussierten Eintrags zu ersetzen, selbst wenn das Ereignis durch Tastaturinteraktion ausgelöst wird. Das Abbrechen dieses Ereignisses verhindert, dass der Wert aktualisiert wird, aber nicht, dass der Menüeintrag den Fokus erhält.
  • event
    Typ: Event
  • ui
    Typ: Object
    • item
      Typ: Object
      Beschreibung: Der Eintrag, der den Fokus erhalten hat.

Codebeispiel:

Initialisieren Sie das Autocomplete mit dem angegebenen focus-Callback:

$( ".selector" ).autocomplete({
  focus: function( event, ui ) {}
});
    

Binden Sie einen Event-Listener an das autocompletefocus-Ereignis:

$( ".selector" ).on( "autocompletefocus", function( event, ui ) {} );
    
open( event, ui ) autocompleteopen Wird ausgelöst, wenn das Vorschlagsmenü geöffnet oder aktualisiert wird.
  • event
    Typ: Event
  • ui
    Typ: Object

Hinweis:uiDas Objekt ist leer; es ist zur Konsistenz mit anderen Ereignissen enthalten.

Codebeispiel:

Initialisieren Sie das Autocomplete mit dem angegebenen open-Callback:

$( ".selector" ).autocomplete({
  open: function( event, ui ) {}
});
    

Binden Sie einen Event-Listener an das autocompleteopen-Ereignis:

$( ".selector" ).on( "autocompleteopen", function( event, ui ) {} );
    
response( event, ui ) autocompleteresponse Wird ausgelöst, nachdem eine Suche abgeschlossen ist und bevor das Menü angezeigt wird. Nützlich für die lokale Manipulation von Vorschlagsdaten, wenn ein benutzerdefiniertersourceOptions-Callback nicht erforderlich ist. Dieses Ereignis wird immer ausgelöst, wenn die Suche abgeschlossen ist, und es wird auch dann ausgelöst, wenn das Menü nicht angezeigt wird, weil die Suche keine Ergebnisse zurückgegeben hat oder Autocomplete deaktiviert ist.
  • event
    Typ: Event
  • ui
    Typ: Object
    • content
      Typ: Array
      Beschreibung: Enthält die Antwortdaten und kann geändert werden, um die angezeigten Ergebnisse zu ändern. Diese Daten sind bereits normalisiert. Wenn Sie die Daten ändern, stellen Sie sicher, dass jedes Element dievalueundlabelEigenschaft.

Codebeispiele:

Autocomplete mit dem angegebenen Response-Callback initialisieren:

$( ".selector" ).autocomplete({
  response: function( event, ui ) {}
});
    

Einen Ereignis-Listener an das autocompleteresponse-Ereignis binden:

$( ".selector" ).on( "autocompleteresponse", function( event, ui ) {} );
    
select( event, ui ) autocompleteselect Wird ausgelöst, wenn ein Element aus dem Menü ausgewählt wird. Die Standardaktion besteht darin, den Wert im Textfeld durch den Wert des ausgewählten Elements zu ersetzen. Das Abbrechen dieses Ereignisses verhindert, dass der Wert aktualisiert wird, aber es verhindert nicht, dass das Menü geschlossen wird.
  • event
    Typ: Event
  • ui
    Typ: Object
    • item
      Typ: Object
      Beschreibung: Ein Objekt mit denlabelundvalueEigenschaften des ausgewählten Elements.

Codebeispiele:

Initialisieren Sie autocomplete mit dem angegebenen select-Callback:

$( ".selector" ).autocomplete({
  select: function( event, ui ) {}
});
    

Binden Sie einen Event-Listener an das autocompleteselect-Ereignis:

$( ".selector" ).on( "autocompleteselect", function( event, ui ) {} );
    

Beispiele

Beispiel 1:

Ein einfaches jQuery-UI-Autocomplete.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>自动完成部件(Autocomplete Widget)演示</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
 
<label for="autocomplete">选择一个编程语言:</label>
<input id="autocomplete">
 
<script>
$( "#autocomplete" ).autocomplete({
  source: [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ]
});
</script>
 
</body>
</html>

Beispiel 2:

Verwenden Sie einen benutzerdefinierten source-Callback, um den Anfang des Begriffs abzugleichen.

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>自动完成部件(Autocomplete Widget)演示</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
</head>
<body>
 
<label for="autocomplete">选择一个编程语言:</label>
<input id="autocomplete">
 
<script>
var tags = [ "c++", "java", "php", "coldfusion", "javascript", "asp", "ruby" ];
$( "#autocomplete" ).autocomplete({
  source: function( request, response ) {
          var matcher = new RegExp( "^" + $.ui.autocomplete.escapeRegex( request.term ), "i" );
          response( $.grep( tags, function( item ){
              return matcher.test( item );
          }) );
      }
});
</script>
 
</body>
</html>

Weitere Erweiterungen