JS实现模糊查询带下拉匹配效果


Posted in Javascript onJune 21, 2018

“搜索”可以使我们更快的找到某一个关键词或者某一个商品,所以“模糊查询”和“下拉匹配”也成了前端必备的一个小技能,开门见山,希望对朋友们有帮助。

---搜索框模糊查询带下拉匹配效果html---

<!------------搜索框模糊查询带下拉匹配效果html---------------------->
<div class="gover_search">
  <div class="gover_search_form">
    <form action="#" method="post" name="searchform" id="searchform" class="searchinfo">
      <ul>
        <li>
          <input type="text" id="tt" value="" class="text" autocomplete="off" />
          <p class="search"><img src="img/search-1.png" alt=""></p>
          <p class="camera"><img src="img/camera.png" alt=""></p>
        </li>
        <li class="searchBtns-1"><img src="img/searchBtn.png" alt=""></li>
      </ul>
    </form>
  </div>
</div>

---搜索框模糊查询带下拉匹配效果-css---

.fl {float: left;}
.fr {float: right;}
.clearfix:after {  content: '';
  display: block;
  clear: both;
  visibility: hidden;
  height: 0;
}
.clearfix { zoom: 1}
.mar0 { margin: 0 auto;}
.pos1 {position: relative;}
input {
  border: none;
  outline: none;
}
.w100 {width: 100%;}
.gover_search{
 width: 420px;
 position: relative;
 border-radius: 20px;
 height: 42px;
 border: 2px solid #fb6910;
 background:#fff;
 margin-top: 50px;
 margin-left: 90px;
}
.searchinfo ul{
 list-style: none;
}
.gover_search_form {
 height: 37px;
 width: 420px;
 position: relative;
}
/*输入框*/
.searchinfo .text{
 margin: 0;
 width: 334px;
 height: 38px;
 outline: none;
 vertical-align: middle;
 float: left;
 padding-left: 27px;
 line-height: 40px;
 margin-left: 16px;
}
/*搜索按钮*/
.searchinfo .button {
 width: 120px;
 height: 40px;
 border: none;
 background-color: #4b140d;
 color: #fff;
 font-size: 19px;
 font-weight: bold;
 outline: none;
 float: left;
}
/*<!--隐藏的搜索框下拉列表-->*/
.bigautocomplete-layout{
 position: absolute;
 z-index: 999;
 left: 0px;
 max-height: 260px;
 overflow-y: auto;
 overflow-x: hidden;
 top: 213px !important;
 width: 336px !important;
 border: 1px solid #ccc;
 border-top: none;
 display: none;
 color: #004080;
 background-color: #fff;
}
.bigautocomplete-layout table{
 width:336px !important;
}
.bigautocomplete-layout table tr{
 margin-bottom:5px !important;
 cursor:pointer;
}
.bigautocomplete-layout table tr td{
 height: 25px !important;
 width: 336px !important;
 padding:0 10px !important;
 line-height: 25px !important;
}
.bigautocomplete-layout table tr:hover{
 background-color:#fb6910 !important;
 color:#fff;
}
.bigautocomplete-layout table tr:hover td div{
 color:#fff;
}
.bigautocomplete-layout table tr:hover td div span{
 color:#fff;
}
/*搜索框下拉列表关键字数量*/
.keyRightSpan{
 float: right;
 display: block;
 width: auto;
 height: 25px !important;
 line-height: 25px !important;
 padding-right:8px
}
.ct{
 background-color: #fff;
}
/*关闭搜索框下拉列表按钮*/
.search {
 width: 22px;
 height: 22px;
 position: absolute;
 top: 9px;
 left: 12px;
 z-index: 2;
}
.search img {
 width: 100%;
 height: 100%;
}
.camera {
 width: 22px;
 height: 22px;
 position: absolute;
 top: 9px;
 right: 80px;
 z-index: 2;
}
.camera img {
 width: 100%;
 height: 100%;
}
.searchBtn {
 width: 70px;
 height: 40px;
 position: absolute;
 top: 0px;
 right: 0px;
 z-index: 2;
}
.searchBtn img {
 width: 100%;
 height: 100%;
}

因为是用了bootstrap框架,所以引入了bootstrap的样式,自我调整哈<link rel="stylesheet" href="css/bootstrap.css" rel="external nofollow" >

样式写好以后就是js实现下来匹配了,最主要的是jquery.bigautocomplete.js的引入

<script src="js/jquery-3.1.1.js"></script>
<script src="js/index.js"></script>
<script src="js/jquery.bigautocomplete.js"></script>

---搜索框模糊查询带下拉匹配效果-js---

// 隐藏的搜索框下拉列表
$(function () {
  var num = 0;
  $("#tt").bigAutocomplete({
    width: 543,
    data: [{title: "牛栏山<span class='keyRightSpan'>约5个结果</span>", result: {ff: "qq"}},
      {title: "郎酒<span class='keyRightSpan'>约2个结果</span>"},
      {title: "茅台<span class='keyRightSpan'>约4个结果</span>"},
      {title: "五粮液<span class='keyRightSpan'>约2个结果</span>"},
      {title: "水井坊<span class='keyRightSpan'>约7个结果</span>"},
      {title: "汾酒<span class='keyRightSpan'>约3个结果</span>"},
      {title: "洋府<span class='keyRightSpan'>约2个结果</span>"},
      {title: "董酒<span class='keyRightSpan'>约5个结果</span>"},
      {title: "剑南春<span class='keyRightSpan'>约2个结果</span>"},
      {title: "劲酒<span class='keyRightSpan'>约8个结果</span>"}],
    callback: function (data) {
      console.log(data.title);
    }
  });
})

接下来就是这个效果的截图

JS实现模糊查询带下拉匹配效果

可以鼠标悬浮时选中某一个关键词,然后点击的时候把它的值(value)放在input框里

JS实现模糊查询带下拉匹配效果

总结

以上所述是小编给大家介绍的JS实现模糊查询带下拉匹配效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Opacity.js
Jan 22 Javascript
javascript中用星号表示预录入内容的实现代码
Jan 08 Javascript
dojo学习第一天 Tab选项卡 实现
Aug 28 Javascript
JQuery页面地址处理插件jqURL详解
May 03 Javascript
js代码实现随机颜色的小方块
Jul 30 Javascript
微信小程序 合法域名校验出错详解及解决办法
Mar 09 Javascript
vuejs绑定class和style样式
Apr 11 Javascript
vue实现动态数据绑定
Apr 28 Javascript
Vue全家桶实践项目总结(推荐)
Nov 04 Javascript
Angular2整合其他插件的方法
Jan 20 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
May 27 Javascript
微信小程序实现发微博功能的示例代码
Jun 24 Javascript
浅析Vue 生命周期
Jun 21 #Javascript
vue数组对象排序的实现代码
Jun 20 #Javascript
vue项目实现github在线预览功能
Jun 20 #Javascript
node thread.sleep实现示例
Jun 20 #Javascript
解决循环中setTimeout执行顺序的问题
Jun 20 #Javascript
Vue.use源码学习小结
Jun 20 #Javascript
Vuex入门到上手教程
Jun 20 #Javascript
You might like
一个PHP的ZIP压缩类分享
2014/05/04 PHP
Linux下PHP连接Oracle数据库
2014/08/20 PHP
用 Composer构建自己的 PHP 框架之构建路由
2014/10/30 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
php通过两层过滤获取留言内容的方法
2016/07/11 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
PHP实现重载的常用方法实例详解
2017/10/18 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
javascript之卸载鼠标事件的代码
2007/05/14 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
js的toLowerCase方法用法实例
2015/01/27 Javascript
jQuery制作可自定义大小的拼图游戏
2015/03/30 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
jQuery实现动态文字搜索功能
2017/01/05 Javascript
xmlplus组件设计系列之下拉刷新(PullRefresh)(6)
2017/05/03 Javascript
Javascript继承机制详解
2017/05/30 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
微信小程序实现tab页面切换功能
2018/07/13 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
Python中django学习心得
2017/12/06 Python
python字符串与url编码的转换实例
2018/05/10 Python
在Qt5和PyQt5中设置支持高分辨率屏幕自适应的方法
2019/06/18 Python
什么是Python包的循环导入
2020/09/08 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
欧洲第一中国智能手机和平板电脑网上商店:CECT-SHOP
2018/01/08 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
医学专业大学生求职的自我评价
2013/11/27 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
岗位竞聘书范文
2014/03/31 职场文书
活动策划求职信模板
2014/04/21 职场文书
2014物价局民主生活会对照检查材料思想汇报
2014/09/24 职场文书
会计电算化实训报告
2014/11/04 职场文书
实习报告怎么写
2019/06/20 职场文书