重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

怎么在JavaScript中实现input输入时表格过滤

今天就跟大家聊聊有关怎么在JavaScript中实现input输入时表格过滤,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

十年的嘉峪关网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整嘉峪关建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“嘉峪关网站设计”,“嘉峪关网站推广”以来,每个客户项目都认真落实执行。

JavaScript是什么

JS是JavaScript的简称,它是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一部分,主要用于web的开发,可以给网站添加各种各样的动态效果,让网页更加美观。

需求:对input框进行键盘输入后根据输入的内容去匹配表格中指定的数据项,若存在相匹配的则只显示匹配的数据项;

细节处理:监听键盘输入后给一定的缓冲时间避免发生频繁的请求;

解决思路:给个定时器,当键盘开始输入时启动定时器,倘若在指定的时间内都不在进行输入操作,则执行匹配操作,否则取消操作,同时限定输入的字符串大于等于2位数字时再进行匹配操作,使过滤效果更精准一些。

var timer = null; //定义定时器
function filterTable(el){
  clearTimeout(timer);
  var oTable = document.getElementById("oTable");
  //获取需要匹配的元素集合
  var firstTdArr = oTable.getElementsByClassName("firstTd");
  if(el.value.length>1){ //限定匹配的字符至少为两位数
    var filterVal = el.value.toUpperCase();
    timer = setTimeout(function(){
      for(var i=0;i -1) {
          firstTdArr[i].parentNode.style.display = "";
        }else{
          firstTdArr[i].parentNode.style.display = "none";
        }
      }
    },500);
  }else{
    //不满足匹配所需字符数量时,恢复匹配之前的模样
    for(var i=0;i

       匹配数据     数据项一     数据项二     数据项三           JS前端数据多条件筛选     11过滤table数据     111过滤table数据     1111过滤table数据           程序员不会英语怎么行?     22过滤table数据     222过滤table数据     2222过滤table数据           前端代码编译后添加过滤     33过滤table数据     333过滤table数据     3333过滤table数据           大数据学习     44过滤table数据     444过滤table数据     4444过滤table数据           JS过滤HTML标签     55过滤table数据     555过滤table数据     5555过滤table数据           大数据你了解多少     66过滤table数据     666过滤table数据     6666过滤table数据   

table{border: 1px solid #ccc;width: 900px;}
table tr:nth-child(odd){background:#F4F4F4;}
table tr:nth-child(even){background:#fff;}

怎么在JavaScript中实现input输入时表格过滤

看完上述内容,你们对怎么在JavaScript中实现input输入时表格过滤有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。


分享名称:怎么在JavaScript中实现input输入时表格过滤
当前链接:http://cqcxhl.cn/article/jhseod.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP