全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js实现模糊匹配功能

功能描述:

在搜索框中输入某一个字段,可以查询到相关的内容

功能实现:

1.  先声明变量用于保存输入框以及表格里面的内容
2.  循环遍历
遍历表格每一行,查找匹配项
3.  判断
如果输入框里面的内容跟表格中某个td的内容相似,则表格中的某行就显示,否则隐藏

功能实现:

<html> 
<head> 
  <style> 
    #myInput { 
      width: 100%; 
      font-size: 16px; 
      padding: 12px 20px 12px 40px; 
      border: 1px solid #ddd; 
      margin-bottom: 12px; 
    } 
    #myTable { 
      border-collapse: collapse; 
      width: 100%; 
      border: 1px solid #ddd; 
      font-size: 18px; 
    } 
    #myTable th, #myTable td { 
      text-align: left; 
      padding: 12px; 
    } 
    #myTable tr { 
      border-bottom: 1px solid #ddd; 
    } 
    #myTable tr.header, #myTable tr:hover { 
      background-color: #f1f1f1; 
    } 
  </style> 
</head> 
<body> 
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="搜索..."> 
<table id="myTable"> 
  <tr class="header"> 
    <th style="width:60%;">项目名称</th> 
    <th style="width:40%;">时间</th> 
  </tr> 
  <tr> 
    <td>redPackets</td> 
    <td>2017.2.6</td> 
  </tr> 
  <tr> 
    <td>traffic</td> 
    <td>2016.12.25</td> 
  </tr> 
  <tr> 
    <td>creditCard</td> 
    <td>2017.1.18</td> 
  </tr> 
  <tr> 
    <td>returnMoney</td> 
    <td>2016.11.25</td> 
  </tr> 
</table> 
<script> 
  function myFunction() { 
    // 声明变量 
    var input, filter, table, tr, td, i; 
    input = document.getElementById("myInput"); 
    filter = input.value.toUpperCase(); 
    table = document.getElementById("myTable"); 
    tr = table.getElementsByTagName("tr"); 
    // 循环表格每一行,查找匹配项 
    for (i = 0; i < tr.length; i++) { 
      td = tr[i].getElementsByTagName("td")[0]; 
      if (td) { 
        if (td.innerHTML.toUpperCase().indexOf(filter) > -1) { 
          tr[i].style.display = ""; 
        } else { 
          tr[i].style.display = "none"; 
        } 
      } 
    } 
  } 
</script> 
</body> 
</html> 

扩展:模拟通讯录搜索提示

<html> 
<head> 
  <style> 
    #myInput { 
      width: 100%; 
      font-size: 16px; /* 加大字体 */ 
      padding: 12px 20px 12px 40px; 
      border: 1px solid #ddd; 
      margin-bottom: 12px; 
    } 
 
    #myUL { 
      list-style-type: none; 
      padding: 0; 
      margin: 0; 
    } 
 
    #myUL li a { 
      border: 1px solid #ddd; /* 链接添加边框 */ 
      margin-top: -1px; 
      background-color: #f6f6f6; 
      padding: 12px; 
      text-decoration: none; 
      font-size: 18px; 
      color: black; 
      display: block; 
    } 
 
    #myUL li a.header { 
      background-color: #5587A2; 
      cursor: default; 
    } 
 
    #myUL li a:hover:not(.header) { 
      background-color: #eee; 
    } 
  </style> 
</head> 
<body> 
  <input type="text" id="myInput" onkeyup="myFunction()" placeholder="搜索..."> 
 
  <ul id="myUL"> 
    <li><a href="#" class="header">A</a></li> 
    <li><a href="#">Angel</a></li> 
    <li><a href="#">Adobe</a></li> 
    <li><a href="#">Anne</a></li> 
 
    <li><a href="#" class="header">B</a></li> 
    <li><a href="#">Betty</a></li> 
    <li><a href="#">Bella</a></li> 
    <li><a href="#">Brown</a></li> 
 
    <li><a href="#" class="header">C</a></li> 
    <li><a href="#">Calvin</a></li> 
    <li><a href="#">Chris</a></li> 
    <li><a href="#">Claire</a></li> 
 
    <li><a href="#" class="header">D</a></li> 
    <li><a href="#">David</a></li> 
    <li><a href="#">Daniel</a></li> 
    <li><a href="#">Dora</a></li> 
 
    <li><a href="#" class="header">E</a></li> 
    <li><a href="#">Emily</a></li> 
    <li><a href="#">Elena</a></li> 
    <li><a href="#">Eufemia</a></li> 
  </ul> 
<script> 
  function myFunction() { 
    // 声明变量 
    var input, filter, ul, li, a, i; 
    input = document.getElementById('myInput'); 
    filter = input.value.toUpperCase(); 
    ul = document.getElementById("myUL"); 
    li = ul.getElementsByTagName('li'); 
 
    // 循环所有列表,查找匹配项 
    for (i = 0; i < li.length; i++) { 
      a = li[i].getElementsByTagName("a")[0]; 
      if (a.innerHTML.toUpperCase().indexOf(filter) > -1) { 
        li[i].style.display = ""; 
      } else { 
        li[i].style.display = "none"; 
      } 
    } 
  } 
</script> 
</body> 
</html> 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 模糊匹配  # JS中的模糊查询功能  # js canvas画布实现高斯模糊效果  # JS中使用cavas截图网页并解决跨域及模糊问题  # JS实现模糊查询带下拉匹配效果  # javascript input输入框模糊提示功能的实现  # js模拟百度模糊搜索的实例  # js、jquery实现列表模糊搜索功能过程解析  # 遍历  # 输入框  # 大家多多  # 框中输入  # collapse  # myTable  # bottom  # align  # text  # solid  # border  # margin  # ddd  # left  # type  # input  # body  # myFunction  # onkeyup  # id 


相关文章: c++怎么用jemalloc c++替换默认内存分配器【性能】  如何快速辨别茅台真假?关键步骤解析  建站主机与虚拟主机有何区别?如何选择最优方案?  如何在万网开始建站?分步指南解析  如何制作网站标识牌,动态网站如何制作(教程)?  微信小程序 五星评分(包括半颗星评分)实例代码  ,想在网上投简历,哪几个网站比较好?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  宁波自助建站系统如何快速打造专业企业网站?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Swift中swift中的switch 语句  c# 在高并发场景下,委托和接口调用的性能对比  移民网站制作流程,怎么看加拿大移民官网?  如何在云主机快速搭建网站站点?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  如何破解联通资金短缺导致的基站建设难题?  如何通过老薛主机一键快速建站?  建站主机类型有哪些?如何正确选型  如何用免费手机建站系统零基础打造专业网站?  建站之家VIP精选网站模板与SEO优化教程整合指南  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  建站之星安装需要哪些步骤及注意事项?  如何通过虚拟主机快速完成网站搭建?  网站制作价目表怎么做,珍爱网婚介费用多少?  潮流网站制作头像软件下载,适合母子的网名有哪些?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  北京专业网站制作设计师招聘,北京白云观官方网站?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  b2c电商网站制作流程,b2c水平综合的电商平台?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何快速建站并高效导出源代码?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何选择建站程序?包含哪些必备功能与类型?  如何在Windows环境下新建FTP站点并设置权限?  如何用AWS免费套餐快速搭建高效网站?  小型网站制作HTML,*游戏网站怎么搭建?  文字头像制作网站推荐软件,醒图能自动配文字吗?  如何确保西部建站助手FTP传输的安全性?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  建设网站制作价格,怎样建立自己的公司网站?  如何通过cPanel快速搭建网站?  如何用搬瓦工VPS快速搭建个人网站?  建站之星好吗?新手能否轻松上手建站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  韩国服务器如何优化跨境访问实现高效连接?  ,购物网站怎么盈利呢?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  制作农业网站的软件,比较好的农业网站推荐一下? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。