Zapoznaj się z dokumentacją autouzupełniania interfejsu użytkownika jquery . Zwracany JSON nie odpowiada temu, czego szuka autouzupełnianie. Zwracany obiekt musi mieć właściwości o nazwie label lub value (lub obie).
Możesz wypróbować następujące opcje:
Opcja 1:Zmień zwrócony JSON
Zmień zwracany JSON, aby zawierał właściwości etykiety/wartości, takie jak:
[{"label":"Sin City"}]
Z przykładów wydaje się, że używa również właściwości id. Uważam, że powyższe jest minimalnym wymogiem, aby autouzupełnianie wyświetlało listę wartości. Myślę, że możesz również zwrócić tablicę ciągów i wyrenderuje ją dokładnie w taki sam sposób, jak powyżej.
[ "Sin City", "Etc" ]
Opcja 2:Zmień prywatną funkcję _render
Zmień funkcję private _renderItem, aby autouzupełnianie korzystało z właściwości niestandardowych, jak pokazano w tym przykładzie autouzupełniania (nietestowane):
$( "#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 );
};
Jest to nieco bardziej elastyczne, ale o wiele brzydsze imho.