我使用自动完成功能从数据库中检索数据
$('input[name=\'product_name\']').autocomplete({
'source': function(request, response) {
$.ajax({
url: 'index.php?route=checkout/cart/autocomplete&name=' + encodeURIComponent(request), //Controller route
dataType: 'json',
success: function(json) {
response($.map(json, function(item) {
return {
label: item['name'],
value: item['product_id']
}
}));
}
});
},
'select': function(item) {
$('input[name=\'product_id\']').val(item['value']);
$('input[name=\'product_name\']').val(item['label']);
},
focus: function(event, ui) {
return false;
}
});
我已经将焦点返回false,但我的下拉箭头键仍然无效。 我也尝试过使用event.preventDefault();
答案 0 :(得分:-1)
select
的{{1}}事件处理程序存在一些问题。所以试试这个脚本 -
jquery-ui-autocomplete
$('input[name=\'product_name\']').autocomplete({ source: function(request, response) { $.ajax({ url: 'index.php?route=checkout/cart/autocomplete&name=' + encodeURIComponent(request), //Controller route dataType: 'json', success: function(json) { response($.map(json, function(item) { return { label: item['name'], value: item['product_id'] } })); } }); }, select: function(event , ui) { $('input[name=\'product_id\']').val(ui.item.value); $('input[name=\'product_name\']').val(ui.item.lable); }, focus: function(event, ui) { return false; } });
事件选择指定的回调:$(" .selector")。autocomplete({select:function(event,ui){}});
希望这能解决您的问题。