微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax实现搜索引擎自动补全功能

本文主要介绍了Ajax实现搜索引擎自动补全功能的实例解析。具有很好的参考价值。下面跟着小编一起来看下吧

每当我们遇到一些问题时候,我们会百度一下,你是有过我们的问题还没打完就已经出现的经历?

如下图:

天猫:

京东:

这时候的你是否想到如何实现这个功能

我们的网页明明没有刷新,可是却出现了数据的交互,也就是Ajax的强大之处。

下面以一个例子来实现。

搜索框和搜索按钮,我们希望在搜索框输入部分书名时,能够实现书名的自动补全功能。每当点击了相应的书名,就把内容输入到搜索框。

对应的代码

Search

为了存贮自动补全的文字,我们使用div标签

设置背景色为白色,绝对布局。并且不显示

百度的补全功能中我们发现,每输入一个字,对应的补全文字就会更新,所以我们要为搜索框设置键盘抬起事件(keyup),然后就是Ajax实现异步交互。

js代码

$(".inputtable").keyup(function(){ var content=$(this).val(); //如果当前搜索内容为空,无须进行查询 if(content==""){ $("#context1").css("display","none"); return ; } //由于浏览器的缓存机制 所以我们每次传入一个时间 var time=new Date().getTime(); $.ajax({ type:"get", //新建一个名为findBooksAjaxServlet的servlet url:"${pageContext.request.contextpath}/servlet/findBooksAjaxServlet", data:{name:content,time:time}, success:function(data){ //拼接html var res=data.split(","); var html=""; for(var i=0;i"+res[i]+"

"; } $("#context1").html(html); //显示为块级元素 $("#context1").css("display","block"); } }); });

我们的鼠标在选择到自动补全的内容时,我们会发现内容的那一行会变色,即onmouSEOver事件,离开时恢复原色onmouSEOut事件,点击时将内容填写到搜索框onclick事件。所以在上面的代码中我们会这样写

var html=""; for(var i=0;i"+res[i]+"

"; }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐