Podívejte se na dokumentaci automatického doplňování uživatelského rozhraní jquery . JSON, který vracíte, neodpovídá tomu, co automatické doplňování hledá. Objekt, který vracíte, musí mít vlastnosti pojmenované label nebo value (nebo obojí).
Můžete vyzkoušet následující možnosti:
Možnost 1:Změňte vrácený JSON
Změňte vracený JSON tak, aby zahrnoval vlastnosti label/value, jako je:
[{"label":"Sin City"}]
Z příkladů se také zdá, že používá vlastnost id. Věřím, že výše uvedené je minimálním požadavkem pro automatické doplňování k zobrazení seznamu hodnot. Myslím, že můžete také vrátit pole řetězců a vykreslí to přesně stejným způsobem jako výše.
[ "Sin City", "Etc" ]
Možnost 2:Změňte funkci private _render
Změňte soukromou funkci _renderItem pro automatické doplňování tak, aby používala vaše vlastní vlastnosti, jak je znázorněno v tomto příkladu automatického doplňování (netestováno):
$( "#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 );
};
Toto je trochu flexibilnější, ale mnohem ošklivější.