2010-11-19 6 views
1

Ich verwende jQuerys .autocomplete-Plugin, und ich würde etwas Unterstützung bei der Formatierung der Ergebnisse, die im Dropdown-Menü angezeigt werden, die auffüllt, wenn Text in das Eingabefeld geschrieben wird.Wie verwendet man jQuerys formatItem-, formatMatch- und formatResult-Optionen für .autocomplete?

Um die Daten zu erhalten, die die automatische Vervollständigung zu füllen, ich ziehe aus mySQL dieses PHP:

$sql = ('SELECT tag, title, author, content, id FROM labels'); 
$result = mysql_query($sql); 
$Response = array(); 
while($row = mysql_fetch_object($result)){ 
$Response[] = array(
          "id" => $row->id, 
          "name" => $row->tag . ": " . $row->title . ": " . $row->content ."" 
         ); 
} 

Wenn ein Benutzer die Option aus dem den automatischen Vervollständigung auswählt, die für sie am besten ist, konvertiere ich den „Namen "oben in die" ID "mit dieser Methode: var AllTagData =; var Tags = [];

for(var i in AllTagData){ 
    Tags.push(AllTagData[i].name); 
    } 

    function getIdFromTag(_name){ 
     for(var i in AllTagData){ 
      if(_name == AllTagData[i].name){ 
       return AllTagData[i].id; 
      } 
     } 
    } 

So weit, so gut. Schließlich verwende ich die zum automatischen Vervollständigung jQuery-Plugin zur Ausgabe der Daten für den Anwender:

$(document).ready(function(){ 
    $("#Responses").autocomplete({ 
     source: Tags, 
     matchContains: true, 
     autoFill: true, 
     select: function(e, ui){ 
      $("#hidden_tags").val(getIdFromTags($("#Responses").val())); 
      }}); 
}); 

Dieser letzte Teil des Codes ist, wo ich Hilfe brauche die FORMAT, formatMatch und formatResult Optionen umzusetzen.

Von der oben angegebenen PHP gebe ich Tags, Titel und Inhalt alle in den "Namen". Die Art und Weise, die Ich mag würde meine die automatische Vervollständigung Optionen für den Benutzer zu formatieren ist

  • anzeigen Stichworte & Titel
  • ausblenden Inhalt
  • Suche durch Schlagwörter, Titel und Inhalt für mögliche Treffer

Daher möchte ich, obwohl die automatische Vervollständigung Inhalte durchsuchen soll, nicht, dass Inhalt in der Liste der aufgefüllten automatischen Vervollständigungen angezeigt wird. Ich möchte nur die Tags und Titel anzeigen.

Ich habe eine Menge Probleme damit gehabt und habe ziemlich ausführlich gesucht, um eine Antwort zu finden und würde wirklich jede Hilfe schätzen, die Sie geben können, wie man das erreicht. Bitte stellen Sie weitere Fragen, wenn Sie weitere Informationen benötigen. Danke!

Antwort

0

Ich glaube, Sie sind eine andere Version des Plug-ins verwenden, aber wenn man sich so aussehen:

http://code.google.com/p/jquery-autocomplete/

Sie eine Datei index.html mit den Beispielen Sie fordern, zum Beispiel finden :

showResult: function(value, data) { 
    return '<span style="color:red">' + value + '</span>'; 
}, 

Viel Glück!

Verwandte Themen