Hãy xem tài liệu tự động hoàn thành jquery ui . JSON bạn đang trả lại không khớp với những gì tính năng tự động hoàn tất đang tìm kiếm. Đối tượng bạn trả về phải có các thuộc tính có tên là nhãn hoặc giá trị (hoặc cả hai).
Bạn có thể thử các tùy chọn sau:
Tùy chọn 1:Thay đổi JSON đã trả lại
Thay đổi JSON được trả về để bao gồm các thuộc tính nhãn / giá trị, chẳng hạn như:
[{"label":"Sin City"}]
Từ các ví dụ, nó dường như cũng sử dụng thuộc tính id. Tôi tin rằng những điều trên là yêu cầu tối thiểu để tính năng tự động hoàn thành hiển thị danh sách các giá trị. Tôi nghĩ rằng bạn cũng có thể trả về một mảng chuỗi và nó sẽ hiển thị nó theo cách giống hệt như cách trên.
[ "Sin City", "Etc" ]
Tùy chọn 2:Thay đổi hàm _render riêng tư
Thay đổi hàm private _renderItem cho tự động hoàn thành để sử dụng các thuộc tính tùy chỉnh của bạn như được hiển thị trong ví dụ về tự động hoàn thành này (chưa được kiểm tra):
$( "#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 );
};
Điều này linh hoạt hơn một chút nhưng imho xấu hơn nhiều.