详解jQuery如何实现模糊搜索


Posted in jQuery onMay 10, 2019

如何实现 模糊搜索 当我们浏览网页的时候,通常能看到搜索栏,这大大的提高了我们获取数据的目的性。
那如何去实现一个简单的模糊搜索 框呢,以下案例获取能给你一点思路。

以下案例,可以实现当按键按下时,自动检索匹配数据

基本css 样式

.row {

​    height: 80px;

​    */\* line-height: 80px; \*/*

​    text-align: left;

​    line-height: 80px;

​    padding-top: 5px;

​    margin-bottom: 10px;

​  }

​  .inh {

​    width: 70px;

​    height: 70px;

​    border: 1px solid blanchedalmond;

​    border-radius: 5px;

​    line-height: 70px;

​    text-align: center;

​    margin-right: 30px;

​  }

​  img {

​    width: 100%;

​    height: 100%;

​  }

基本的html 样式

<div class="search_box"><i class="fa fa-arrow-left ftop"></i>
  <form action="#">
    <input type="text" id="index-to" placeholder="请输入搜索内容" autofocus onfocus="autoPlays">
    <i class="fa fa-times fa=1gt rege"></i>
  </form>
</div>


<div class="search_content search_default">
  <ul id="view-to"></ul>
</div>
</div>

初始样式图如下:

详解jQuery如何实现模糊搜索

/**
 * 自己创建一个商品数据集合
 * 点击分类时实现商品的切换
 * 切换之后已经选择好的数量需要记录
*/
var arrAllProducts = [
  {
    type: "炒菜",
    products: [
      { id: 10001, name: "土猪肉烧红薯", img: "http://recipe1.hoto.cn/pic/recipe/l/ff/4f/1134591_e480ee.jpg", price: 26.00, desc: "红薯与肉香交互辉映,肥而不腻、酥而不碎、甜而不粘、浓而不咸。" },
      { id: 10002, name: "红烧虾园子", img: "http://recipe1.hoto.cn/pic/recipe/l/c3/66/1140419_19dbfb.jpg", price: 28.00, desc: "传统的《桂花酒酿圆子》有现成的卖,自己做也是简单方便口味很不错" },
      { id: 10003, name: "宫保鸡丁", img: "http://recipe0.hoto.cn/pic/recipe/g_148/6a/da/252522_0d88b3.jpg", price: 20.00, desc: "川菜馆必点" }
    ]
  },
  {
    type: "商务套餐",
    products: [
      { id: 20001, name: "荷叶饭", img: "http://recipe0.hoto.cn/pic/recipe/g_148/72/61/1073522_c9b4af.jpg", price: 12.00, desc: "好吃的荷叶饭" },
      { id: 20002, name: "奢华版荷叶饭", img: "http://recipe0.hoto.cn/pic/recipe/g_148/40/f8/849984_c84667.jpg", price: 15.00, desc: "精装版" }
    ]
  },
  {
    type: "主食",
    products: [
      { id: 30001, name: "芝麻拌苦瓜", img: "http://res.hoto.cn/5c7787ea0135db3ab01db0d5.jpg!default", price: "12.00", desc: "这款燕麦南瓜饼,外皮软糯,内馅香甜" }
    ]
  },
  {
    type: "其他",
    products: [
      { id: 40001, name: "苏格兰蛋", img: "http://recipe0.hoto.cn/pic/recipe/l/2a/67/1140522_c0045b.jpg", price: "25.80", desc: "据说这叫苏格兰蛋。其实油炸的我吃得少做的更少" }
    ]
  }
]
 
// 封装 模糊搜索的方法
function autoPlays(x) {
    x.style.border = '5px soild blue'
  }
  
  $(function () {
    var search_input = $(".search_box input"),
      search_content = $(".search_content");
    $(search_input).on("keyup", function () {
      if (search_input.val() == '') {
        $(search_content).show();
      }
      // $(".search_content li:contains(" + search_input.val().trim() + ")").show();
      // $(".search_content li:not(:contains(" + search_input.val().trim() + "))").hide();


      //第二中方法
      $(".search_content li").hide().filter(":contains(" + search_input.val().trim() + ")").show();
    });
  });
  $(".ftop").click(function () {
    history.back(1);
  })

  $('#index-to').keyup(function () {
    var search_input = $(".search_box input")

    if (search_input.val() != '') {
      $('.rege').css({
        display: 'block'
      })
      $('#view-to').css({
        display: 'block'
      })
    }
    else {
      $('#view-to').css({
        display: 'none'
      })
      $('.rege').css({
        display: 'none'
      })
    }

  })
  $('.rege').click(function () {
    $('#index-to').val('');
    $('#view-to').css({
      display: 'none'
    })
    $(this).css({
      display: 'none'
    })
  })
  // 遍历arrAllProducts 数组
  for (var key in arrAllProducts) {
    console.log(arrAllProducts[key].products)
    $.each(arrAllProducts[key].products, function (i, value) {
      var oLi = "<li class='row'><img src='' class='inh' alt='图片加载失败'><a href='javascript:;'>" + value.name + "</a></li>";
      console.log(value.img+'nnnnnimg')
      var oLis = $(oLi);
      oLis.appendTo($("#view-to"))
      let uuu = $('.inh')
      uuu[i].src = value.img
      console.log(value.name)
    })
  }

搜索效果图如下:

详解jQuery如何实现模糊搜索

以上所述是小编给大家介绍的jQuery如何实现模糊搜索详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery实现鼠标经过显示动画边框特效
Mar 24 jQuery
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
浅谈struts1 &amp; jquery form 文件异步上传
May 25 jQuery
基于jquery日历价格、库存等设置插件
Jul 05 jQuery
关于jQuery.ajax()的jsonp碰上post详解
Jul 02 jQuery
jQuery实现用户信息表格的添加和删除功能
Sep 12 jQuery
jQuery实现的两种简单弹窗效果示例
Apr 18 jQuery
jQuery插件实现弹性运动完整示例
Jul 07 jQuery
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
Nov 18 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jQuery实现二级导航菜单的示例
Sep 30 jQuery
Easyui 去除jquery-easui tab页div自带滚动条的方法
May 10 #jQuery
jquery登录的异步验证操作示例
May 09 #jQuery
jQuery动态生成的元素绑定事件操作实例分析
May 04 #jQuery
jQuery实现条件搜索查询、实时取值及升降序排序的方法分析
May 04 #jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 #jQuery
jQuery对底部导航进行跳转并高亮显示的实例代码
Apr 23 #jQuery
详解jquery和vue对比
Apr 16 #jQuery
You might like
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
php多任务程序实例解析
2014/07/19 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php+ajax实时刷新简单实例
2015/02/25 PHP
CI框架无限级分类+递归的实现代码
2016/11/01 PHP
jquery 关键字“拖曳搜索”之“拖曳”以及 图片“提示自适应放大”效果 的实现
2010/04/18 Javascript
JavaScript不刷新实现浏览器的前进后退功能
2014/11/05 Javascript
Nodejs为什么选择javascript为载体语言
2015/01/13 NodeJs
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
2017/03/30 Javascript
详解ES6之async+await 同步/异步方案
2017/09/19 Javascript
使用Bootstrap和Vue实现用户信息的编辑删除功能
2017/10/25 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
Angular6封装http请求的步骤详解
2018/08/13 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
详解koa2学习中使用 async 、await、promise解决异步的问题
2018/11/13 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
使用Python进行目录的对比方法
2018/11/01 Python
Django模型序列化返回自然主键值示例代码
2019/06/12 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
2020/05/15 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
Mytheresa美国官网:德国知名的女性奢侈品电商
2017/05/27 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
房地产公司工程部经理岗位职责
2015/04/09 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
综治目标管理责任书
2015/05/11 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
小学数学新课改心得体会
2016/01/22 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
MySQL中in和exists区别详解
2021/06/03 MySQL
Mysql 如何查询时间段交集
2021/06/08 MySQL