可能是因为当列表项被初始化时,Autocomplete未重新调用源函数以获取最新数据。
以下是一个示例代码,解决该问题:
//通过Ajax获取数据
$.ajax({
url: "url地址",
method: "POST",
dataType: "json",
success: function(data, status, xhr) {
var availableNames = data; //获取名字列表
$("#name").autocomplete({
source: availableNames, //使用名字列表作为源
minLength: 0 //设置最小长度为0,使Autocomplete直接显示全部建议
});
}
});
//通过Promise获取数据
$.get("url地址").then(function(data) {
var availableNames = data; //获取名字列表
$("#name").autocomplete({
source: function(request, response) {
var results = $.ui.autocomplete.filter(availableNames, request.term);
response(results.slice(0, 10)); //只显示前10个结果
},
minLength: 0 //设置最小长度为0,使Autocomplete直接显示全部建议
});
});
在此示例中,每次调用Autocomplete时都会重新调用源函数,以确保获取最新的建议列表。同时,设置了最小长度为0,以确保Autocomplete在初始化时显示全部建议。