详解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 UI Grid 模态框中的表格实例代码
Apr 01 jQuery
jQuery中animate()的使用方法及解决$(”body“).animate({“scrollTop”:top})不被Firefox支持的问题
Apr 04 jQuery
jquery 键盘事件的使用方法详解
Sep 13 jQuery
使用JQuery实现图片轮播效果的实例(推荐)
Oct 24 jQuery
jquery中done和then的区别(详解)
Dec 19 jQuery
浅谈ajax在jquery中的请求和servlet中的响应
Jan 22 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
jQuery niceScroll滚动条错位问题的解决方法
Feb 03 jQuery
JQuery获取可视区尺寸和文档尺寸及制作悬浮菜单示例
May 14 jQuery
jQuery实现异步上传一个或多个文件
Aug 17 jQuery
jQuery实现简单评论区功能
Oct 26 jQuery
JQuery绑定事件四种实现方法解析
Dec 02 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垃圾回收机制引用计数器概念分析
2013/06/24 PHP
PHP正则验证Email的方法
2015/06/15 PHP
详解WordPress中分类函数wp_list_categories的使用
2016/01/04 PHP
php 微信公众平台开发模式实现多客服的实例代码
2016/11/07 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
js跨域请求数据的3种常用的方法
2015/12/01 Javascript
如何动态加载外部Javascript文件
2015/12/02 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
JavaScript trim 实现去除字符串首尾指定字符的简单方法
2016/12/27 Javascript
简单的vue-resourse获取json并应用到模板示例
2017/02/10 Javascript
详解Angular2组件之间如何通信
2017/06/22 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
集成vue到jquery/bootstrap项目的方法
2018/02/10 jQuery
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
微信小程序搭建自己的Https服务器
2019/05/02 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
js正则表达式简单校验方法
2021/01/03 Javascript
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
机器学习之KNN算法原理及Python实现方法详解
2018/07/09 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
c语言常见笔试题总结
2016/09/05 面试题
若干个Java基础面试题
2015/05/19 面试题
女方婚礼新郎答谢词
2014/01/11 职场文书
学雷锋日活动总结
2015/02/06 职场文书
四大名著读书笔记
2015/06/25 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
签证扫盲贴,41个常见签证知识,需要的拿走
2019/08/09 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript