JS实现表格数据各种搜索功能的方法


Posted in Javascript onMarch 03, 2015

本文实例讲述了JS实现表格数据各种搜索功能。可忽略大小写,模糊搜索,多关键搜索。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title></title>

  <script type="text/javascript">

   window.onload=function(){

    var oTab=document.getElementById("tab");

    var oBt=document.getElementsByTagName("input");

    oBt[1].onclick=function(){

     for(var i=0;i<oTab.tBodies[0].rows.length;i++)

     {

      var str1=oTab.tBodies[0].rows[i].cells[1].innerHTML.toUpperCase();

      var str2=oBt[0].value.toUpperCase();

      //使用string.toUpperCase()(将字符串中的字符全部转换成大写)或string.toLowerCase()(将字符串中的字符全部转换成小写)

      //所谓忽略大小写的搜索就是将用户输入的字符串全部转换大写或小写,然后把信息表中的字符串的全部转换成大写或小写,最后再去比较两者转换后的字符就行了

      /*******************************JS实现表格忽略大小写搜索*********************************/

      if(str1==str2){

       oTab.tBodies[0].rows[i].style.background='red';

      }

      else{

        oTab.tBodies[0].rows[i].style.background='';

      }

     /***********************************JS实现表格的模糊搜索*************************************/

     //表格的模糊搜索的就是通过JS中的一个search()方法,使用格式,string1.search(string2);如果

     //用户输入的字符串是其一个子串,就会返回该子串在主串的位置,不匹配则会返回-1,故操作如下

     if(str1.search(str2)!=-1){oTab.tBodies[0].rows[i].style.background='red';}

     else{oTab.tBodies[0].rows[i].style.background='';}

     /***********************************JS实现表格的多关键字搜索********************************/

     //表格的多关键字搜索,加入用户所输入的多个关键字之间用空格隔开,就用split方法把一个长字符串以空格为标准,分成一个字符串数组,

     //然后以一个循环将切成的数组的子字符串与信息表中的字符串比较

     var arr=str2.split(' ');

     for(var j=0;j<arr.length;j++)

     {

      if(str1.search(arr[j])!=-1){oTab.tBodies[0].rows[i].style.background='red';}

     }

     }

    }

   }

  </script>

 </head>

 <body>

  姓名:<input type="text" />

  <input type="button" value="搜索"/>

  <table border="1" bordercolor="blue" id="tab">

   <thead>

     <td><h2>ID</h2></td>

     <td><h2>Name</h2></td>

     <td><h2>Age</h2></td>

   </thead>

   <tbody>

    <tr>

     <td>1</td>

     <td>Blue</td>

     <td>15</td>

    </tr>

     <tr>

     <td>2</td>

     <td>Mikyou</td>

     <td>26</td>

    </tr>

     <tr>

     <td>3</td>

     <td>weak</td>

     <td>24</td>

    </tr>

     <tr>

     <td>4</td>

     <td>sky</td>

     <td>35</td>

    </tr>

     <tr>

     <td>5</td>

     <td>李四</td>

     <td>18</td>

    </tr>

   </tbody>

  </table>

 </body>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
关于javascript 回调函数中变量作用域的讨论
Sep 11 Javascript
Jquery Ajax学习实例 向页面发出请求,返回XML格式数据
Mar 14 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
Apr 15 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
详解ES6中的三种异步解决方案
Jun 28 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 Javascript
微信小程序仿今日头条导航栏滚动解析
Aug 20 Javascript
详谈vue中router-link和传统a链接的区别
Jul 22 Javascript
vue - props 声明数组和对象操作
Jul 30 Javascript
Vue实现购物车基本功能
Nov 08 Javascript
JS代码实现页面切换效果
Jan 10 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
Mar 03 #Javascript
javascript验证身份证号
Mar 03 #Javascript
JS烟花背景效果实现方法
Mar 03 #Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 #Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
Mar 03 #Javascript
js+jquery常用知识点汇总
Mar 03 #Javascript
js实现宇宙星空背景效果的方法
Mar 03 #Javascript
You might like
laravel5.5安装jwt-auth 生成token令牌的示例
2019/10/24 PHP
html下载本地
2006/06/19 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
php 修改密码实现代码
2017/05/24 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
javascript将list转换成树状结构的实例
2017/09/08 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
js如何验证密码强度
2020/03/18 Javascript
Python中操作MySQL入门实例
2015/02/08 Python
python笔记:mysql、redis操作方法
2017/06/28 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
对python多线程中Lock()与RLock()锁详解
2019/01/11 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
HTML5的表单(绝对特别强大的功能)使用示例
2013/06/20 HTML / CSS
中医药大学市场营销专业自荐信
2013/09/29 职场文书
物理力学求职信
2014/02/18 职场文书
安全协议书范本
2014/04/21 职场文书
核心价值观演讲稿
2014/05/13 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
试了下Golang实现try catch的方法
2021/07/01 Golang
《月歌。》宣布制作10周年纪念剧场版《RABBITS KINGDOM THE MOVIE》
2022/04/02 日漫
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL
Moment的feature导致线上bug解决分析
2022/09/23 Javascript