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 相关文章推荐
jquery struts 验证唯一标识(公用方法)
Mar 27 Javascript
复制js对象方法(详解)
Jul 08 Javascript
js为数字添加逗号并格式化数字的代码
Aug 23 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
Jul 29 Javascript
避免jQuery名字冲突 noConflict()方法
Jul 30 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
JavaScript实现数组全排列、去重及求最大值算法示例
Jul 30 Javascript
js实现全选反选不选功能代码详解
Apr 24 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 Javascript
JavaScript实现弹出窗口效果
Dec 09 Javascript
解决基于 keep-alive 的后台多级路由缓存问题
Dec 23 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中的正规表达式(一)
2006/10/09 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
php+flash+jQuery多图片上传源码分享
2020/07/27 PHP
centos 7.2下搭建LNMP环境教程
2016/11/20 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
页面刷新时记住滚动条的位置jquery代码
2014/06/17 Javascript
javascript基本包装类型介绍
2015/04/10 Javascript
JavaScript对象数组排序实例方法浅析
2016/06/15 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
vue router-link传参以及参数的使用实例
2017/11/10 Javascript
vue自定义一个v-model的实现代码
2018/06/21 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
详解js加减乘除精确计算
2019/03/19 Javascript
vue-cli3+ts+webpack实现多入口多出口功能
2019/05/30 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
使用vue实现HTML页面生成图片的方法
2020/03/12 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
python如何将图片转换为字符图片
2020/08/19 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
树莓派与PC端在局域网内运用python实现即时通讯
2019/06/22 Python
在python image 中实现安装中文字体
2020/05/16 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
会计专业的自荐信
2013/12/12 职场文书
绿色城市实施方案
2014/03/19 职场文书
经贸专业毕业生求职信
2014/03/23 职场文书
公司任命书模板
2014/06/06 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
三方股东合作协议书范本
2014/09/28 职场文书
办公室主任个人总结
2015/02/28 职场文书
餐饮店长岗位职责
2015/04/14 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS