首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有嵌套级别的Live search筛选器敲除js

具有嵌套级别的Live search筛选器敲除js
EN

Stack Overflow用户
提问于 2014-09-01 22:39:24
回答 1查看 561关注 0票数 0

关于如何在Knockout.js中使用实时搜索过滤功能,我有一个想法。但我有一种新的复杂要求,最终输出将如下所示…

当用户点击列出的搜索结果时,他可能会有另一组子列表,其中应该有'n‘次向下钻取!

我试着用简单的实时搜索过滤功能。我丢了一些东西。我不知道如何从Json加载多级数据,也不知道如何在knockout JS中进行绑定。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-01-16 21:57:18

我偶然发现了类似的问题。理解Knockout如何检测哪个观察值会影响计算值,这一点很重要。我注意到,在所有示例中,都是在计算函数作用域中调用可观察对象。如果我在过滤函数(子作用域)上调用它,则计算结果不会更新。我尝试在计算函数的开头调用它们,这样过滤函数就可以通过相同作用域中的变量访问值。这似乎是有效的,并且每次可观察到的改变-计算更新。

在这里,我修改了您的计算,它会实时过滤所有字段。

代码语言:javascript
运行
复制
self.filteredRecords = ko.computed(function () {
    var idSearch = self.idSearch(),
        nameSearch = self.nameSearch().toLowerCase(),
        townSearch = self.townSearch();
    return ko.utils.arrayFilter(self.records(), function (r) {
        return r.id.toString().indexOf(idSearch) !== -1 &&
            r.name.toLowerCase().indexOf(nameSearch) !== -1 &&
            (r.homeTown === townSearch || townSearch === "");
    });
});

http://jsfiddle.net/67kgm/127/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25608201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档