所以我用Google搜索,在这里搜索,到处去,我找不到答案。我正在使用jQuery UI自动完成来搜索项目ID号码列表。它们可以是从1任意长度 - 99999自动完成功能不会在第一次输入时触发
的问题:
当我键入“2”,例如,什么也没有发生,然后我打了退格键和类型的“2”再次和这个时候,任何事情开始2出现在下面,事件显示在开发人员工具的“网络列表”中。此外,当我搜索1时,只有1出现,但它不执行搜索,它只是吐出输入值。但是当我点击退格键并再次输入1时,搜索会触发,并且我得到的结果与我2中的结果相同。通常,无论输入什么数字,它都应该只是在默认情况下才会触发?如何纠正此问题并使我的自动填充功能正常工作。
CODE:
$('.item-inventory').on('keyup', '#item_num', function(){
//var search = $(this);
var itemname;
var itemprice;
var itemdesc;
$(this).autocomplete({
delay : 100,
source: function(request, response){
$.ajax({
url: '../assets/server/orders/item_search.php',
dataType: 'JSON',
data: {search: request.term},
success: function (data){
var keys = data.search;
// $('#item-name').val(data.search[0].item);
// itemPrice = data.search[0].price;
// itemDesc = data.search[0].desc;
response($.map(keys, function(i){
return{
label : i.id
};
}));
}
});
},
minLength : 1
});
//$('#item-search-results').removeClass('hidden');
$(this).on('autocompleteselect', function(event, ui){
$('#item-search-results').removeClass('hidden');
});
});
您每次'keyup'事件都会重复“autocomplete”。这不是要走的路:(你能提供样本HTML吗? – 2014-10-31 16:43:03
当我在另一个输入字段中使用此方法时,我没有看到任何问题。 – 2014-10-31 16:44:28
这并不意味着它是a)正确或b)改变它是解决你的问题:) – 2014-10-31 16:45:02