我在实现中使用了自动完成功能,并且通过ajax调用来检索数据,它可以正常工作,但是当我只想在输入了角色(使用onkeyup事件)后才调用ajax时,下拉列表将无法正确显示!!!! 在我忘记之前,如果没有找到数据,请帮助我在下拉列表中显示“找不到”(因为我的else条件不起作用)。这是我的代码,非常感谢:
$(document).ready(function() {
var contents = $('#autocomplete-input')[0];
contents.onkeyup = function (e) {
$.ajax({
type: 'GET',
url: Routing.generate('crm_search_lead', {"search":
$(this).val()}),
success: function (response) {
var contacts = {};
if (true === response.success) {
var result = response.result;
for (var i = 0; i < result.length; i++) {
var lastName = result[i].lastName ?
result[i].lastName : '';
var firstName = result[i].firstName ?
result[i].firstName : '';
contacts[lastName + " " + firstName] = null;
}
$('input.autocomplete').autocomplete({
data: contacts,
minLength: 2,
});
} else {
$('input.autocomplete').autocomplete({
data: {
"NOT FOUND": null
}
});
}
}
});
}
});
答案 0 :(得分:0)
嗨,人们:)我可以通过使用focus()更改onkeyup()来解决它,这完全合乎逻辑,因为使用onkeyup()时,下拉列表会在输入的每个键上很快出现并消失。