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 相关文章推荐
js的闭包的一个示例说明
Nov 18 Javascript
Javascript倒计时代码
Aug 12 Javascript
javascript之bind使用介绍
Oct 09 Javascript
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
js使用正则实现ReplaceAll全部替换的方法
Aug 22 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 Javascript
javascript实现行拖动的方法
May 27 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
Jan 23 Javascript
微信小程序switch组件使用详解
Jan 31 Javascript
vue-router源码之history类的浅析
May 21 Javascript
javascript实现拖拽碰撞检测
Mar 12 Javascript
JavaScript实现拖拽和缩放效果
Aug 24 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
PHP安全上传图片的方法
2015/03/21 PHP
php实现在服务器端调整图片大小的方法
2015/06/16 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
用javascript添加控件自定义属性解析
2013/11/25 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
javascript使用prototype完成单继承
2014/12/24 Javascript
JS判断日期格式是否合法的简单实例
2016/07/11 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
关于jQuery库冲突的完美解决办法
2017/05/20 jQuery
vue-cli webpack2项目打包优化分享
2018/02/07 Javascript
node(koa2) web应用模块介绍详解
2019/03/29 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
解决vue-photo-preview 异步图片放大失效的问题
2020/07/29 Javascript
Vue数组响应式操作及高阶函数使用代码详解
2020/08/01 Javascript
Python实现检测服务器是否可以ping通的2种方法
2015/01/01 Python
python遍历类中所有成员的方法
2015/03/18 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
10 行Python 代码实现 AI 目标检测技术【推荐】
2019/06/14 Python
windows环境中利用celery实现简单任务队列过程解析
2019/11/29 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
详解python程序中的多任务
2020/09/16 Python
canvas实现按住鼠标移动绘制出轨迹的示例代码
2018/02/05 HTML / CSS
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
小学生家长评语大全
2014/02/10 职场文书
楼面经理岗位职责范本
2014/02/18 职场文书
法院信息化建设方案
2014/05/21 职场文书
详细的本科生职业生涯规划范文
2014/09/16 职场文书
2014年最新领导班子整改方案
2014/09/27 职场文书
县政协领导班子群众路线教育实践活动四风问题整改方案
2014/10/26 职场文书
婚前协议书范本
2014/10/27 职场文书
《去年的树》教学反思
2016/02/18 职场文书
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS
python开发飞机大战游戏
2021/07/15 Python
Nginx实现负载均衡的项目实践
2022/03/18 Servers