当前位置:首页 > 日记 > 正文

js实现模糊匹配功能

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> 

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

相关文章

PPT扁平化设计有哪些实用小技巧

PPT扁平化设计有哪些实用小技巧

扁平化设计,小技巧,有哪些,电脑软件,PPT,  扁平化是目前的PPT主流设计风格,非常适合新手,学会可以直接拿来作海报和PPT设计。以下是小编为您带来的关于PPT扁平化设计的8个实用小技巧,希望对您有所帮助。PPT扁平化设计的8个实用小技巧Tip 1:关…

jQuery实现按比例缩放的方法

jQuery实现按比例缩放的方法

方法,缩放,按比例,电脑软件,jQuery,本文实例讲述了jQuery实现按比例缩放图片的方法。分享给大家供大家参考,具体如下:做网站的时候,相信有很多朋友都会遇到图片过大,导致页面撑开变形的问题,如果强制设置width,height,图片则会因为强制变形而走样…

在Word 2013文档中如何制作个人工

在Word 2013文档中如何制作个人工

文档,工作,电脑软件,Word,  一般上班的时候可能需要带上工作牌,当然也不全是谁都要带工作牌,每个公司要求都不一样的。在Word文档中,你知道工作牌是怎么制作出来的吗?以下是小编为您带来的关于在Word 2013中制作个人工作牌,希望对您有所帮助…

wps表格怎么插入excel图表

wps表格怎么插入excel图表

图表,方法,表格,电脑软件,wps,  数据处理,离不开Excel,那么怎样做才能简单方便的插入表格呢?对于新手来说熟练运用wps表格软件还是有一定难度,怎么办?下面就跟小编看看excel插入图表的过程吧,欢迎大家来到学习。wps的Excel插入图表的方法打开…

右键没有excel2007怎么办Excel2007

右键没有excel2007怎么办Excel2007

右键,新建文档,处理方法,电脑软件,  在电脑中,想要点击鼠标右键新建一个excel表格时,却没有这个程序,怎么办?不用着急,其实我们可以通过修改注册表添加,下面给大家分享Excel2007右键没有新建文档的处理方法,希望看完本教程的朋友都能学会并运用…

Javascript 两种刷新方法以及区别

Javascript 两种刷新方法以及区别

刷新,方法,两种,适用范围,区别,JS 两种刷新方法在项目中有一个人信息修改的页面,但是修改后显示的却是修改之前的内容,分析问题后发现查询语句写在了修改语句之前,有些某些需要又必须这么写,但是修改信息后先却显示之前的信息也太不科学了。所…

对于Javascript 执行上下文的全面

对于Javascript 执行上下文的全面

执行上下文,电脑软件,Javascript,在这篇文章中,将比较深入地阐述下执行上下文 – JavaScript中最基础也是最重要的一个概念。相信读完这篇文章后,你就会明白javascript引擎内部在执行代码以前到底做了些什么,为什么某些函数以及变量在没有被声…

powerpoint文字打字效果怎么设置

powerpoint文字打字效果怎么设置

设置,文字,步骤,效果,电脑软件,  打字效果,是增强汇报成果表现效果的一种形式,那么大家知道怎么设置打字效果呢?下面小编就教你怎么在ppt中设置打字效果吧,希望看完本教程的朋友都能学会并运用起来。ppt中设置打字效果的步骤选择&ldquo;插入…

JS实现侧边栏鼠标经过弹出框+缓冲

JS实现侧边栏鼠标经过弹出框+缓冲

弹出框,侧边栏,鼠标,效果,电脑软件,可能这个标题起得不够恰当,简单来说就是:当鼠标移到最左侧时,移出一个框。 首先,我们用两个div来简单布局以下页面:<div id="box"> <div id="share">分享到</div></div>这个分享框的弹出原理是:把内层div定…

wps文字180度倒转的设置方法

wps文字180度倒转的设置方法

方法,文字,设置,电脑软件,wps,  我们知道图片可以进行旋转,那么文字可以进行旋转吗?我们编辑文档想要文字倾斜显示应该怎样做呢?下面给大家分享wps设置文字倒转的方法。wps文字180度倒转的设置方法wps文字180度倒转的设置步骤1:首先我们写下…

angularjs下拉框空白的解决办法

angularjs下拉框空白的解决办法

下拉框,解决办法,空白,电脑软件,angularjs,搜索angularjs下拉框空白,可以出现很多解决方案,但是对于静态字段来说,网上目前还没有找到解决方案,如下:<select class="form-control" ng-model="UserState" ng-init="UserState=0"> <option …

excel中count if 函数的使用方法ex

excel中count if 函数的使用方法ex

函数,使用方法,电脑软件,count,excel,  Excel IF函数即count if 函数,运用它可以对一系列繁杂的数据进行筛选,得到自己想要的数据结果。今天,小编就教大家在Excel中count if 函数的使用方法。Excel中COUNTIF函数使用方法一(1) 求真空单元格…