2010-12-17 18 views
4

Ich versuche, JQuery Autocomplete verwenden und müssen die ID des Werts, der in der Box ausgefüllt wurde. Ich verwende ein verstecktes Element, um den ID-Wert in meinem HTML zu speichern. Die automatische Vervollständigung funktioniert einwandfrei und zeigt die Ergebnisse an, bis ich die ID zum Array hinzufüge und dann keine Ergebnisse mehr zeige.jquery Autocomplete, wie die ID

Dies ist ein Beispiel dafür, was mein Servercode zurückgibt.

{"id":11,"value":"aaaa"} 

Dies ist die JQuery

$("#user").autocomplete({ 
    source: "/item/user.php", 
    minLength: 2, 
    select: function(event, ui) { 
     $('#userId').val(ui.item.id); 
    } 
    }); 

Antwort

5

Sie vorschlagen, dass Sie so etwas wie dies hinzufügen müssen:

$("#user").autocomplete({ 
    source: "/item/user.php", 
    minLength: 2, 
    dataType: "json", 
    select: function(event, ui) { 

     $('#userId').val(ui.value); 
    }, 
    parse: function (data) { 
       return $.map(arr, function (row, i) { 
        return { 
         data: row.id, 
         value: row.value, 
         result: row.value 
        } 
       }); 
      }, 
    }); 

also Wert in wählen Sie die Option userId sein wird, und Text - Nickname.

Den Haltepunkt bei der Auswahlfunktion einstellen und den Wert von 'ui' unter firebug überprüfen.

+0

danke für die Hilfe. Ich bin wirklich neu in JQuery, also würde ich Ihren Code in der Auswahlfunktion verwenden? – jim

+0

Danke Bugai13 – jim

+0

Gern geschehen. –