Dai un'occhiata alla documentazione di completamento automatico dell'interfaccia utente di jquery . Il JSON che stai restituendo non corrisponde a ciò che il completamento automatico sta cercando. L'oggetto restituito deve avere proprietà denominate label o value (o entrambi).
Puoi provare le seguenti opzioni:
Opzione 1:modifica JSON restituito
Modifica il JSON restituito per includere le proprietà dell'etichetta/valore come:
[{"label":"Sin City"}]
Dagli esempi sembra anche utilizzare la proprietà id. Credo che quanto sopra sia il requisito minimo per il completamento automatico per visualizzare un elenco di valori. Penso che puoi anche restituire un array di stringhe e lo renderà esattamente allo stesso modo di quanto sopra.
[ "Sin City", "Etc" ]
Opzione 2:modifica la funzione _render privata
Modifica la funzione privata _renderItem per il completamento automatico per utilizzare le tue proprietà personalizzate come mostrato in questo esempio di completamento automatico (non testato):
$( "#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 );
};
Questo è un po' più flessibile ma molto più brutto imho.