搜索框的联想词功能如何实现

这个功能需要前后端配合吗?还是只要前端就能完成呢
需求是填写项目名称,下面的框自动出现补全的多条项目名称,点一下,上面的输入框就补全了
网上查到的是这个接口http://suggestion.baidu.com/su,但是这个接口ajax调出的数据并不包含我们需要的项目名称

感谢大家给我解答,1楼的比较符合我内心想法和我现在的技术水平,所以采纳了他,非常感谢大家!!!谢谢!谢谢!谢谢!

阅读 7.3k
2 个回答

前后配合,你这个已经不是联想了

那个链接是百度的。

前端检测到input onchange就去后端查询匹配的字符串,让后端给你返回一个按照关联性排序好的包含结果的数组

首先:

  • 数据量非常小才可以全部load到客户端然后把逻辑写在前端
  • 数据量大就需要进行后端配合

其次,实现的话存储数据结构采用trie树进行,这样可以进行快速检索,后端只需负责根据输入查找。前端监听输入框,输入停止若干毫秒ajax提交到后端返回补全后的内容即可。

相关参考:twitter的js库 typeahead.js

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题