我有一些问题。 当我以编程方式生成自动填充时,例如:
$("#body_person_name").keyup(function () {
if ($("#body_person_name").val().length < 3) return;
var suggestions = [];
$.getJSON("some_external_api_resource.com/get_some_names", function (data, status) {
$.each(data, function (key, value) {
suggestions.push({
value: value,
data: key
});
});
});
$("#body_person_name").autocomplete({
lookup: suggestions,
minChars: 3,
autoFocus: true,
onSelect: function (suggestion) {
//...
}
});
});
在输入字母后,建议列表不会直接显示,用户需要单击输入,然后单击带有自动完成功能的输入以查看一些建议。
我真的不明白如何解决这个问题=(
答案 0 :(得分:0)
好的,事实证明你正以错误的方式接近这一切......
如果你阅读了jQuery UI自动完成文档,你会看到所需的一切选项。它几乎都是为你而构建的。
$(function () {
$("#body_person_name").autocomplete({
source: function (request, response) {
$.ajax({
url: 'your_url',
success: function (data) { // modify your response here.
response($.map(data, function (value, key) {
console.log(value, key);
return {
value: value,
data: key,
label: value
};
}));
}
});
},
minLength: 3, // set the min characters to type to initiate ajax call
select: function (event, ui) {
console.log(ui.item);
}
})
});