搜索建议缓存javascript

搜索建议缓存javascript,javascript,search,autocomplete,autosuggest,Javascript,Search,Autocomplete,Autosuggest,我有一个搜索文本框,我必须为它实现一个搜索建议(比如谷歌搜索)之类的功能 例如,如果我在搜索框中键入“abc”,我将得到类似 abcdef xyzabcxyz 在这里,每个独特的建议都代表一个jsp页面,其url可以在java脚本数组中“硬编码”。因此,当我单击任何建议值时,将显示相应链接处的网页 对于这一点,你能给我建议一些有效的实施方法吗。 这必须是纯javascript,不能使用jquery等第三方LIB 提前感谢。假设您的数据与此类似 var locationArray = {

我有一个搜索文本框,我必须为它实现一个搜索建议(比如谷歌搜索)之类的功能

例如,如果我在搜索框中键入“abc”,我将得到类似
abcdef
xyzabcxyz

在这里,每个独特的建议都代表一个jsp页面,其url可以在java脚本数组中“硬编码”。因此,当我单击任何建议值时,将显示相应链接处的网页

对于这一点,你能给我建议一些有效的实施方法吗。
这必须是纯javascript,不能使用jquery等第三方LIB


提前感谢。

假设您的数据与此类似

var locationArray = {
    'searchValue1' : 'url1',
    'searchValue2' : 'url2',
        ...
};
您的搜索输入字段有一个与
onkeyup

<input type="text" onkeyup="UpdateSuggestions(this);">


其余的都很简单。

绝大多数建议性搜索实现都使用AJAX和服务器端脚本。为什么使用硬编码的JS数组很重要?加载页面时,您是想使用AJAX还是想用php等创建硬编码的JS数组?因为在这种情况下,建议下拉列表中显示的值列表是事先知道的,并且永远不会更改。AJAX或JS数组,以速度较快的为准。可搜索字符串的集合是固定的(比如说大约50个),这个集合永远不会改变。
这个集合永远不会改变
——在这种情况下,AJAX当然要慢一些,因为它必须在后台加载和计算页面。