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定义回车事件(实现代码)
Jul 08 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
javascript数组去重方法汇总
Apr 23 Javascript
jquery easyUI中ajax异步校验用户名
Aug 19 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 Javascript
关于vue面试题汇总
Mar 20 Javascript
vue 全局环境切换问题
Oct 27 Javascript
Vue快速实现通用表单验证功能
Dec 05 Javascript
vue 公共列表选择组件,引用Vant-UI的样式方式
Nov 02 Javascript
Js数组扁平化实现方法代码总汇
Nov 11 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之数据库操作详解及乱码解决!
2007/01/02 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
PHP数组与对象之间使用递归实现转换的方法
2015/06/24 PHP
IE事件对象(The Internet Explorer Event Object)
2012/06/27 Javascript
用js判断页面是否加载完成实现代码
2012/12/11 Javascript
js加载读取内容及显示与隐藏div示例
2014/02/13 Javascript
JavaScript实现MIPS乘法模拟的方法
2015/04/17 Javascript
javascript简单比较日期大小的方法
2016/01/05 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
微信支付 JS API支付接口详解
2016/07/11 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
深入理解Angularjs中$http.post与$.post
2017/05/19 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
React事件处理的机制及原理
2018/12/03 Javascript
JS实现动态添加外部js、css到head标签的方法
2019/06/05 Javascript
Python中itertools模块用法详解
2014/09/25 Python
python测试驱动开发实例
2014/10/08 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
python中partial()基础用法说明
2018/12/30 Python
基于Python打造账号共享浏览器功能
2019/05/30 Python
filter使用python3代码进行迭代元素的实例详解
2020/12/03 Python
雪花秀美国官方网站:韩国著名草本护肤化妆品品牌
2016/10/19 全球购物
甜品店的创业计划书范文
2014/01/02 职场文书
白酒市场开发计划书
2014/01/09 职场文书
泸县召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
党的群众路线教育实践活动制度建设计划方案
2014/10/31 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
学前班学生评语
2014/12/29 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript