使用淘汰赛js过滤表

Posted

技术标签:

【中文标题】使用淘汰赛js过滤表【英文标题】:filtering table using knockout js 【发布时间】:2018-01-09 17:42:41 【问题描述】:

我有一张使用敲除显示的表格。我有一个用于在客户端搜索表格的文本框。基于搜索文本框,我需要过滤表。 我正在使用 Knockout 版本 -knockout-3.4.0.js。大部分可用的样本都基于老版本的淘汰赛。我们是否有任何简单的方法来实现所需的 结果。在表中大约有 4 列,每列将有一组 3 个字段。所以基本上我需要搜索每列中的所有字段组 并在 UI 中更新结果。

【问题讨论】:

【参考方案1】:

认为您想要这里定义的 ko.utils.arrayFilter。

http://www.knockmeout.net/2011/04/utility-functions-in-knockoutjs.html

这是一个小提琴。

https://jsfiddle.net/0o89pmju/23/

这是从上面列出的敲除实用功能网站复制的过滤器。

//filter the items using the filter text
viewModel.filteredItems = ko.computed(function() 
    var filter = this.filter().toLowerCase();
    if (!filter) 
        return this.items();
     else 
        return ko.utils.arrayFilter(this.items(), function(item) 
            return ko.utils.stringStartsWith(item.name().toLowerCase(), filter);
        );
    
, viewModel);

【讨论】:

以上是关于使用淘汰赛js过滤表的主要内容,如果未能解决你的问题,请参考以下文章

如何使用淘汰赛绑定表中的内部数组

使用knockoutjs在文本框“keydown”之后过滤的显示列表

使用淘汰赛js显示和检索日期

Onclick使用淘汰赛js绑定图像

使用带有 jquery ui 滑块的淘汰赛 js

Magento 2 如何使用淘汰赛 JS 自动填充文本字段