我有问题 例如,当我以编程方式生成自动完成功能时:
$("#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) {
//...
}
});
});
键入字母后,建议列表不会立即出现,用户需要单击输入之外的内容,然后单击具有自动完成功能的输入以查看一些建议。
我真的不明白如何解决这个问题=(
好的,事实证明您正在以错误的方式处理整件事。
如果您阅读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);
}
})
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句