我已经编写了这段代码,如果用户使用类似查询从数据库中获取邮政编码或城市名称,那么问题是我有大约1260条记录,其中两条字段是城市,另一条是邮政编码
SELECT code, area FROM post_codes WHERE code LIKE '$q%' or area LIKE '$q%' ORDER BY area LIMIT 4
我已经阅读了许多用户发布的问题并在线研究过,但没有任何工作使用查询延迟。我甚至索引这些字段在数据库中...它的记录太慢,这是第一个问题,现在我的第二个问题是,当用户在该文本字段中进行搜索时,他按Tab键可以绕过搜索并写入他想要的任何无效代码,如何限制这是我的代码供参考。
$("#Postcode").autocomplete("get_codes2.php", {
width: 260,
queryDelay:0,
dataType: 'json',
parse: function(data) {
var array = new Array();
for(var i=0;i<data.length;i++)
{
array[array.length] = { data: data[i], value: data[i].areacode, result: data[i].areacode};
}
return array;
},
formatItem: function(row) {
return row.areacode;
}
}).result(function (){
答案 0 :(得分:1)
我认为Drupal's API search有一个非常好的方法来解决这个问题。他们让每个增量搜索都在后端的替代方法是提供一个大的JSON file,用于在客户端自动完成。
在他们的实现中,他们正在监听搜索输入的焦点事件,仅在实际需要时才获取JSON。