JS实现table表格内针对某列内容进行即时搜索筛选功能


Posted in Javascript onMay 11, 2018

本文实例讲述了JS实现table表格内针对某列内容进行即时搜索筛选功能。分享给大家供大家参考,具体如下:

往往有些时候,我们把数据从数据库读取出来,显示到table里面,而此时来了个新需求,要在一个搜索框内输入关键字,表格的内容进行即时的筛选。

而即时触发进行数据库的查询,再回调显示,就显得慢,拖累服务器,降低用户体验度,这时,要是有个纯js操作,进行表格某列的即时筛选,这样既能提高搜索速度,也不用占用服务器资源,用户自然也满意。

实现如下,先看效果图,

开始状态:

JS实现table表格内针对某列内容进行即时搜索筛选功能

在输入框内输入‘e',表格即时进行筛选,筛选表格内包含有‘e'的行,没有‘e'的进行隐藏,使用在线HTML/JS/css运行工具http://tools.3water.com/code/HtmlJsRun,测试运行效果如下图所示:

JS实现table表格内针对某列内容进行即时搜索筛选功能

实现代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>3water.com JS搜索筛选table列</title>
</head>
<script type="text/javascript">
function onSearch(obj){//js函数开始
  setTimeout(function(){//因为是即时查询,需要用setTimeout进行延迟,让值写入到input内,再读取
    var storeId = document.getElementById('store');//获取table的id标识
    var rowsLength = storeId.rows.length;//表格总共有多少行
    var key = obj.value;//获取输入框的值
    var searchCol = 0;//要搜索的哪一列,这里是第一列,从0开始数起
    for(var i=1;i<rowsLength;i++){//按表的行数进行循环,本例第一行是标题,所以i=1,从第二行开始筛选(从0数起)
      var searchText = storeId.rows[i].cells[searchCol].innerHTML;//取得table行,列的值
      if(searchText.match(key)){//用match函数进行筛选,如果input的值,即变量 key的值为空,返回的是ture,
        storeId.rows[i].style.display='';//显示行操作,
      }else{
        storeId.rows[i].style.display='none';//隐藏行操作
      }
    }
  },200);//200为延时时间
}
</script>
<body>
<div > <input name="key" type="text" id="key" onkeydown="onSearch(this)" value="" /></div>
<table width="200" border="1" id="store"><!-- id与函数的getId一致 -->
 <tr bgcolor="#CCCCCC">
  <td>name</td>
  <td> </td>
  <td> </td>
 </tr>
  <td>good</td>
  <td> </td>
  <td> </td>
 </tr>
 <tr>
  <td>better</td>
  <td> </td>
  <td> </td>
 </tr>
 <tr>
  <td>best</td>
  <td> </td>
  <td> </td>
 </tr>
 <tr>
  <td>bad</td>
  <td> </td>
  <td> </td>
 </tr>
 <tr>
  <td>worse</td>
  <td> </td>
  <td> </td>
 </tr>
 <tr>
  <td>worst</td>
  <td> </td>
  <td> </td>
 </tr>
</table>
</body>
</html>

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

Javascript 相关文章推荐
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
Mar 12 Javascript
JQuery 获得绝对,相对位置的坐标方法
Feb 09 Javascript
Extjs 3.3切换tab隐藏相应工具栏出现空白解决
Apr 02 Javascript
js中cookie的添加、取值、删除示例代码
Oct 21 Javascript
js实现鼠标经过表格行变色的方法
May 12 Javascript
动态加载js文件简单示例
Apr 21 Javascript
javascript学习之json入门
Dec 22 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
Jan 12 Javascript
JS实现颜色动态淡化效果
Mar 06 Javascript
Vue和React组件之间的传值方式详解
Jan 31 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
javascript二维数组和对象的深拷贝与浅拷贝实例分析
Oct 26 Javascript
node前端开发模板引擎Jade的入门
May 11 #Javascript
Node.js 使用jade模板引擎的示例
May 11 #Javascript
Node.js Express安装与使用教程
May 11 #Javascript
Node.js创建HTTP文件服务器的使用示例
May 11 #Javascript
Node.js引入UIBootstrap的方法示例
May 11 #Javascript
Node.js使用Angular简单示例
May 11 #Javascript
Node.js 使用AngularJS的方法示例
May 11 #Javascript
You might like
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
PHP常量define和const的区别详解
2019/05/18 PHP
一个加载js文件的小脚本
2007/06/28 Javascript
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
JavaScript 内置对象属性及方法集合
2010/07/04 Javascript
jQuery 实现侧边浮动导航菜单效果
2014/12/26 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
javascript引用类型之时间Date和数组Array
2015/08/27 Javascript
实例代码详解jquery.slides.js
2015/11/16 Javascript
Jquery修改image的src属性,图片不加载问题的解决方法
2016/05/17 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
VueJS全面解析
2016/11/10 Javascript
JS检测window.open打开的窗口是否关闭
2017/06/25 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
Python定时执行之Timer用法示例
2015/05/27 Python
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
澳大利亚在线购买葡萄酒:The Wine Collective
2020/02/20 全球购物
数字漫画:comiXology
2020/06/13 全球购物
对公司合理化的建议书
2014/03/12 职场文书
岗位聘任书范文
2014/03/29 职场文书
幼儿园中班教师个人总结
2015/02/05 职场文书
2015年监理个人工作总结
2015/05/23 职场文书
庆元旦主持词
2015/07/06 职场文书
2016公务员年度考核评语
2015/12/01 职场文书
恶魔之树最顶端的三颗果实 震震果实上榜,第一可以制造岩浆
2022/03/18 日漫