js实现前端动态筛选表格内容

代码参考:

http://www.sharejs.com/codes/javascript/4289

http://www.jb51.net/article/103420.htm

https://www.zhihu.com/question/21652436/answer/18899099

1、无延迟版本

// 重写contains方法,使其筛选时忽略大小写,可以放在页面中,也可放在全局。
jQuery.expr[':'].contains = function (a, i, m) {
    return jQuery(a).text().toUpperCase()
        .indexOf(m[3].toUpperCase()) >= 0;
};

$("#searchBox").keyup(function () {
    $("table tbody tr").stop().hide() //将tbody中的tr都隐藏
     .filter(":contains('"+($(this).val())+"')").show(); //,将符合条件的筛选出来
});

本例执行效率很高,同样适用div表格,将&("table tbody tr")适当调整即可。

2、略延迟版本

var k,
tFilter=function(value){// 表格内容筛选
    // search code
    $("table tbody tr").stop().hide();// 将tbody中的tr都隐藏
    //.filter(":contains('" + (value) + "')").show(); //将符合条件的筛选出来
    $("table tbody tr").filter(":contains('" + (value) + "')").show();
};
document.getElementById('searchBox').οnkeydοwn=function(){// 输入触发
    var self=this;
    clearTimeout(k);
    k=setTimeout(function(){
        console.log(k);
        tFilter(self.value);
    },400);
};
// 如需忽略大小写,可添加1中的contains方法。

 

转载于:https://www.cnblogs.com/lbhqq/p/7511218.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值