全网整合营销服务商

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

免费咨询热线: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 


相关文章: 高端网站建设与定制开发一站式解决方案 中企动力  如何用wdcp快速搭建高效网站?  想学网站制作怎么学,建立一个网站要花费多少?  建站之星伪静态规则如何设置?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  制作公司内部网站有哪些,内网如何建网站?  红河网站制作公司,红河事业单位身份证如何上传?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  香港服务器建站指南:免备案优势与SEO优化技巧全解析  常州企业建站如何选择最佳模板?  如何通过万网虚拟主机快速搭建网站?  已有域名和空间如何搭建网站?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  开心动漫网站制作软件下载,十分开心动画为何停播?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  完全自定义免费建站平台:主题模板在线生成一站式服务  网站制作壁纸教程视频,电脑壁纸网站?  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  如何选择可靠的免备案建站服务器?  如何快速搭建高效香港服务器网站?  MySQL查询结果复制到新表的方法(更新、插入)  网站插件制作软件免费下载,网页视频怎么下到本地插件?  如何快速登录WAP自助建站平台?  如何通过VPS建站无需域名直接访问?  宁波免费建站如何选择可靠模板与平台?  建站主机选哪种环境更利于SEO优化?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  浅谈Javascript中的Label语句  教学网站制作软件,学习*后期制作的网站有哪些?  建站之星后台密码遗忘如何找回?  动图在线制作网站有哪些,滑动动图图集怎么做?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何用y主机助手快速搭建网站?  如何通过商城免费建站系统源码自定义网站主题?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  css网站制作参考文献有哪些,易聊怎么注册?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  如何用虚拟主机快速搭建网站?详细步骤解析  如何用花生壳三步快速搭建专属网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站主机服务器选购指南:轻量应用与VPS配置解析  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  黑客如何利用漏洞与弱口令入侵网站服务器?  如何用腾讯建站主机快速创建免费网站? 

您的项目需求

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