如果您有1000k行数据,它看起来像zipcode / city / state,如果您在网站文本字段中键入95101,它将显示san jose,ca;并完成文本字段自动完成。
您选择将哪种数据结构存储在美国的整个邮政编码/城市/州?
也许1000k行。如果我将数据源加载到本地,似乎浪费时间。如果我在JavaScript数组中编写数据源,那么数组太大了,有什么想法吗?
答案 0 :(得分:1)
你的意思是100万行吗?
使用远程数据源在服务器上进行搜索,只返回少量行。
例如jQuery autocomplete remote example
$( "#birds" ).autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
答案 1 :(得分:0)
您可以将jQuery ui自动完成与远程数据源一起使用 - http://jqueryui.com/demos/autocomplete/#remote
摘自:
数据源是一个服务器端脚本,它返回通过简单URL指定的JSON数据 对于源选项。此外,minLength选项设置为2 避免会返回太多结果的查询 select-event用于显示一些反馈。
来自那里的代码示例:
$(function() {
$( "#birds" ).autocomplete({
source: "search.php",
minLength: 2,
select: function( event, ui ) {
log( ui.item ?
"Selected: " + ui.item.value + " aka " + ui.item.id :
"Nothing selected, input was " + this.value );
}
});
});
答案 2 :(得分:0)
如此庞大的数据量,我建议您使用远程调用而不是存储在本地数组或对象中。但我相信,与数组相比,存储对象是一个很好的选择,因为它创建了哈希。