日期:2014-05-16  浏览次数:20366 次

如何实现像google一样的联想查询?
其实问题很简单,就是在页面里有一个文本框,你输入一个字符(字符串),然后在列表里列出
所有根你输入的字符(字符串)相匹配或相似的内容,效果就像google的一样。
当然这个内容是我从数据库里查询出来的。你选择一个后,选中的内容就自动添加到文本框里。
例如:我的数据库里有表table1,主要用到的列字段Co_Name,其内容为:
abc,def,table,啊,酷,什么的
我在文本框中输入“a”,那么就列出abc,table,啊,供我选择。
如果我选择了“啊”,那么文本框里输入的就是“啊”。

各位大侠 and 做过类似功能的 and 正在做这个功能的,请给小弟点帮助!

我看别人说要用到ajax,我还不太懂ajax,如果真的必须用,请提供完整的实例代码,

万分感谢先!


------解决方案--------------------
要看你的数据量有多大了?如果很多而且更新很频繁的话,必须要使用 Ajax 了。如果不是很多,且数据更新不是很频繁的话,也可以考虑静态的形式,就是自己做一个动态级联的js控件,我做过一个这个控件,不过放在公司了,源代码不允许带出的。
------解决方案--------------------
你可以看看这个网站的实现
http://finance.cmbc.com.cn/paper/paper.jsp
右边的股票查询部分
有什么疑问可以问我
------解决方案--------------------
实现方法很简单,用缓存数据,就是先把数据库中的数据按照一定的格式存档到文件中,并且定期更新这个文件(缓存文件);
查询的时候只需要用js和正则表达式即可,既不需要用Ajax,也不需要时时去读数据库,并且还可以使用完整的数据,更好的地方是速度非常快~
------解决方案--------------------
如何实现我在下面已经说了,就是一个Suggest.js+一个特定格式的数据文件,源代码都可以找得到~
说白了其实这些都很简单,没什么神秘的
------解决方案--------------------
其中的Suggest.js文件就是类似于Google的Suggest,不过稍作改进,去掉其中的Ajax,利用Regex+缓存文件的方式提高性能和速度~