Jquery autocomplete mit mehreren keywords, die Hervorhebung und teilweise übereinstimmungen

Ich bin auf der Suche nach einem JQuery-autocomplete wird:

  • Suche teilweise übereinstimmungen
  • Markieren Sie alle Ereignisse, egal wo Sie erscheinen
  • Die Möglichkeit, mehrere word -
  • Ermöglichen Sie remote-Datenquellen (d.h. PHP-Filter-Datenbank, basierend auf der querystring-Parameter, die dynamisch aktualisiert wird mit jedem Tastendruck)

So zum Beispiel

Suche:
"ich wa Zuhause"

Gibt:
"zeigen mir die wa y zu gehen Hause"

Ich habe eine schreckliche Zeit, die versucht, etwas zu finden, dass das, obwohl es in der gemeinsamen Erwartung einer Google-Stil AutoVervollständigen.

Den monkeypatch von jquery ui autocomplete ( jQueryUI: wie kann ich custom-format das AutoVervollständigen-plug-in die Ergebnisse? ) nahe kommt, aber scheint nicht zu bieten dynamische remote-Datenquellen.

Habe ich auch gekommen, schließen Sie mit dem folgenden Skript:

var termTemplate = "<span class='ui-autocomplete-term'>%s</span>";
$("#f input").autocomplete({
   source: "livesearch.php",
   open: function(e, ui) {
      var origKeyword = $("#f input").val();
      var acData = $(this).data('autocomplete');
      acData.menu.element.find('a').each(function() {
         var me = $(this);
         var regex = new RegExp(acData.term, "gi");
         me.html(me.text().replace(regex, function(matched) {
            return termTemplate.replace('%s', matched);
         }));
      });

   },
   select: function(event, ui) {
      var keyword = $("#f input").val();
      $("#f input").val('');
      window.location.href = 'MYURLHERE?VARIABLE=' + ui.item.value;
      return false;
   },
   focus: function(event, ui) {
      return false;
   }
});

Jedoch, es nicht handhaben Hervorhebung mehrere Wörter durch Leerzeichen getrennt ein.

wenn jemand irgendwelche Vorschläge wäre ich äußerst dankbar.

  • Verwenden Sie eine Funktion für die Quelle die option manuell den server Abfragen. Suchen Sie bei Schritt 4 hier: net.tutsplus.com/tutorials/javascript-ajax/... Beachten Sie die in Schritt 5, dass AutoVervollständigen geht die Suche von Elementen zu $_GET['term']
  • Ja, eine dynamische remote-Quelle ist auf jeden Fall möglich. Hervorhebung der einzelnen Wörter ist schwieriger, aber nicht unmöglich mit jQueryUI AutoVervollständigen
  • Dank Nal. Ich hatte einen gehen auf das hinzufügen in der Funktion, die Sie erwähnt in code unterstützt mehrere hervorheben. Allerdings kann ich nicht bekommen es funktioniert. Würde Sie vielleicht einen Blick auf meinen code in Antwort 1?
InformationsquelleAutor iltdev | 2012-09-05
Schreibe einen Kommentar