6

Ich suchte nach jQuery UI Autocomplete, weil ich auf einer <input /> benötigt, aber das Problem ist, dass ich die ID des Namens vervollständigen muss. Lassen Sie mich erklären:Wie jQuery Autocomplete, die eine ID und nicht einen Namen übergibt?

Ich habe ein Array von Namen:

$names = array(
    array('name' => 'John', id => '1'), 
    array('name' => 'Sarah', id => '2'), 
    array('name' => 'Josh', id => '3) 
); 

Und dann mit AJAX, wird der Eingang automatisch vervollständigt mit einem Namen des Feldes, aber dann, wenn ich einreichen, muss ich die id und nicht der Name. Wie kann ich es schaffen?

Vielen Dank im Voraus

Antwort

13

Die JQuery UI Autocomplete Steuerung kann die Liste der Suchergebnisse als eine Reihe von Display/Wertobjekten akzeptieren.

Aus dem Gedächtnis, erstellen Sie ein JSON-Objekt in folgendem Format ...

[ 
    {label:"Display Name for result 1", value:1}, 
    {label:"Display Name for result 2", value:2}, 
    {label:"Display Name for result 3", value:3} 
] 

Die Label-Eigenschaft enthält den Text anzuzeigen, und der Wert proberty enthält die ID. Diese Werte können überprüft werden, wenn ein Suchergebnis vom Benutzer ausgewählt wird. Das Steuerelement verfügt über ein select Ereignis, das Sie überwachen können.