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?Apple设备检测示例代码
Nov 15 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
Dec 05 Javascript
jquery操作select详解(取值,设置选中)
Feb 07 Javascript
jQuery实现的多屏图像图层切换效果实例
May 07 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
JS 对象(Object)和字符串(String)互转方法
May 20 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 Javascript
jQuery解析XML 详解及方法总结
Sep 28 Javascript
Bootstrap3 多选和单选框(checkbox)
Dec 29 Javascript
Vue中的$set的使用实例代码
Oct 08 Javascript
jQuery AJAX与jQuery事件的分析讲解
Feb 18 jQuery
vue项目前端错误收集之sentry教程详解
May 27 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
xml在joomla表单中的应用详解分享
2012/07/19 PHP
(PHP实现)只使用++运算实现加法,减法,乘法,除法
2013/06/27 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
护卫神php套件 php版本升级方法(php5.5.24)
2015/05/10 PHP
JavaScript URL参数读取改进版
2009/01/16 Javascript
转换json格式的日期为Javascript对象的函数
2010/07/13 Javascript
js 实现图片预加载(js操作 Image对象属性complete ,事件onload 异步加载图片)
2011/03/25 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
js拼接html注意问题示例探讨
2014/07/14 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
javascript显示系统当前时间代码
2016/12/29 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
Vue CLI 2.x搭建vue(目录最全分析)
2019/02/27 Javascript
nodejs开发一个最简单的web服务器实例讲解
2020/01/02 NodeJs
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
wxPython学习之主框架实例
2014/09/28 Python
机器学习经典算法-logistic回归代码详解
2017/12/22 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
python实现逐个读取txt字符并修改
2018/12/24 Python
Python:type、object、class与内置类型实例
2019/12/25 Python
pytorch之添加BN的实现
2020/01/06 Python
Python开发之pip安装及使用方法详解
2020/02/21 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
如何用tempfile库创建python进程中的临时文件
2021/01/28 Python
实现向右循环移位
2014/07/31 面试题
社区志愿者心得体会
2014/01/03 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
《新型玻璃》教学反思
2014/04/13 职场文书
紫日观后感
2015/06/05 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL
Redis基本数据类型Set常用操作命令
2022/06/01 Redis
Redis入门基础常用操作命令整理
2022/06/01 Redis
Win11 21h2可以升级22h2吗?看看你的电脑符不符合要求
2022/07/07 数码科技