Tag et kig på jquery ui autofuldførelsesdokumentation . Den JSON, du returnerer, svarer ikke til, hvad autofuldførelsen leder efter. Objektet, du returnerer, skal have egenskaber med navnet label eller værdi (eller begge dele).
Du kan prøve følgende muligheder:
Mulighed 1:Skift returneret JSON
Skift den JSON, der returneres, til at inkludere etiket/værdiegenskaber såsom:
[{"label":"Sin City"}]
Ud fra eksemplerne ser den også ud til at bruge egenskaben id. Jeg mener, at ovenstående er minimumskravet for autofuldførelsen for at vise en liste over værdier. Jeg tror, du også kan returnere en række strenge, og den vil gengive den på nøjagtig samme måde som ovenstående.
[ "Sin City", "Etc" ]
Mulighed 2:Skift privat _render-funktion
Skift den private _renderItem-funktion for autofuldførelsen for at bruge dine tilpassede egenskaber som vist i dette autofuldførelseseksempel (utestet):
$( "#project" ).autocomplete({
source: "./search.php",
minLength: 3
})
.data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( item.Title )
.appendTo( ul );
};
Dette er lidt mere fleksibelt, men meget grimmere imho.