最近工作中需要做一个搜索框,类似百度的搜索框,需要达到两个功能:

  1.输入关键字,展示匹配的下拉列表

  2.选择匹配的项后查出相关内容

  一般电商网站中也经常用到该搜索条,首先分析功能实现,输入关键字马上显示匹配项列表,实现该功能输入框需要绑定"input"事件,然后向后台发送异步请求,将数据展示在页面上。使用鼠标或上下键选择匹配项,点击搜索或"Enter"键后搜索具体结果。这里要用到两个异步请求,第一个请求匹配项,第二个请求搜索结果。键盘,鼠标以及输入框的事件都要监听到,还必须考虑到灵活性,也就是适应各种类似需求,想做好还是有一些难度的,下面分布进行实现。

一.html和css

<body><div id="search-form"></div>
</body>

<style type="text/css">*{margin: 0;padding: 0;list-style:none;border:none;}body {font-family: "microsoft yahei" !important;background-color: #FDFFE0;}:focus {outline: none;}#search-form {position: relative;top: 50px;display: inline;}
</style>

二.导入css和js文件

由于博客上传不了文件,可以去我的git:http://git.oschina.net/manliu.com/search_frame上有完整的项目文件

三.页面引用js

<script type="text/javascript">
var proposals = ['百度1', '百度2', '百度3', '百度4', '百度5', '百度6', '百度7','17素材网','百度','新浪'];$(document).ready(function(){$('#search-form').complete({searchIn:function(val){//传入输入值,返回匹配值/* var reg = /^[\u4F00-\u9FA5\uF900-\uFA2D]/;return reg.test(val); */var word = "^"+val+".*";var rs = [];$.each(proposals,function(i,n){if(n.match(word)){rs.push(n);}});return rs;},width:400,height: 30,submitIn: function(text){//搜索选定的值
            alert(text);        }});
});
</script>

这里searchIn方法用于返回匹配项,通常在里面定义一个异步请求,向后台取数据,返回一个数组,对于复杂的还需要修改源码;submitIn用于搜索匹配的结果,一般可异步请求也可同步请求。

转载于:https://www.cnblogs.com/manliu/p/5152672.html

Jquery实现类似百度的搜索框相关推荐

  1. 这些业务,正在帮助百度跳出搜索框

    2016年上半年成为百度的多事之秋.然而很少有人留意到,百度已经启动"航母计划"开启瘦身之旅:百度外卖.作业帮.百度文学.百度音乐诸多业务纷纷从百度主体剥离,独立融资.这一举措与阿 ...

  2. JAVA ajax搜索框_JS+Ajax实现百度智能搜索框

    首先浏览实现后的结果,输入一个a之后会出现包含a的下拉列表,当我们点击某一个的时候,搜索框中就会出现点击的值.实现所需要的主要是ajax+js. 前端search.jsp pageEncoding=& ...

  3. 百度Google搜索框中,你不知道的变化

    搜索框也许是司空见惯了吧,但即便这样一个小小的简单的搜索框,也在不断的改变着,以下就列举几点,也许你并没有注意到过. 搜索提示  在谷歌推出了很久之后,百度终于按捺不住了,也推出了类似的功能.的确,这 ...

  4. 教你5分钟实现百度首页搜索框,2分钟即时上线

    做前端的,薪资真的那么高吗? 我们用数据了解一下. (数据来自:职友集) 从表中可以看出,有94.7%的前端工程师月薪可达到10k,将近30%的人能够达到20k-30k,更优秀的工程师月薪可达到30- ...

  5. 5分钟实现百度首页搜索框,可能吗?

    做前端的,薪资真的那么高吗? 我们用数据了解一下. (数据来自:职友集) 从表中可以看出,有94.7%的前端工程师月薪可达到10k,将近30%的人能够达到20k-30k,更优秀的工程师月薪可达到30- ...

  6. android 百度悬浮搜索框,百度的搜索框效果如何实现的???

    var MyjQuery ={};var rowNo= 0MyjQuery.seekdiv= newObject({/*提示框 event:事件 txtid:文本框ID txtvalue:文本框的值 ...

  7. html中怎么获取搜索框中的值,百度API 搜索框,获取相应的地点的uid

    在百度API的输入框中怎么根据搜索到的地址获取百度的uid body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑&qu ...

  8. 简单仿百度自动搜索框

    body中 <body> 请输入搜索内容:<input type="text" name="name" value="" ...

  9. vue实现简单的百度接口搜索框

    效果展示 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8& ...

最新文章

  1. MysqL数据库密码的管理
  2. VBS基础篇 - 运算符(1) - 运算符优先级
  3. 1、ShardingSphere基本概念
  4. 集成学习(期末复习)
  5. leetcode: 树
  6. 全国一等奖,F题:智能送药小车。
  7. 2021全球自由行报告:我的中国,真好玩!
  8. 案例:演示<jsp:include>动作元素
  9. python--(pickle)文件读写
  10. Python函数的可变参数传递(*args与**kwargs)
  11. 《Arduino开发实战指南:机器人卷》一2.4 时间函数
  12. Julia: readdlm
  13. Java反射原理与Class类(详解)
  14. Java调用ApacheOpenOffice将Word转PDF
  15. 开源项目—swift开发记事本APP
  16. 【Web Design The Missing Link】Chatty APIs
  17. 机器学习(浙大胡浩基)
  18. matlab中figure图片大小修改
  19. 使用Alexnet实现CIFAR10数据集的训练
  20. code online-线上码-随时随地在线写代码,支持主流语言 go lua luajit php perl python ruby woo dotnet

热门文章

  1. vant 下拉框样式_使用 Vue 的 Vant.js List 列表组件实现无限下拉
  2. 位地址和字节地址换算_关于ip地址的详解,看完这篇就够了
  3. java jsch 密钥登陆_我们可以使用JSch进行基于SSH密钥的通信吗?
  4. mysql md5函数加密
  5. mysql 使用 utf8mb4 编码
  6. JVM参数-XX:+HeapDumpOnOutOfMemoryError
  7. mysql命令:查看表结构
  8. c语言哈夫曼压缩文本,用哈夫曼压缩文件(C语言)
  9. linux下日志管理系统,Linux管理日志系统详解
  10. layui导入模板数据_实物资产管理软件操作手册(数据接口)