【问题标题】:using contains instead of stringStartsWith knockout js使用包含而不是 stringStartsWith 淘汰赛js
【发布时间】:2013-07-07 14:58:52
【问题描述】:

我的模型上有以下内容:

self.filteredItems = ko.computed(function () {
            var filter = this.filter().toLowerCase();

            if (!filter) {
                return this.sites();
            } else {
                return ko.utils.arrayFilter(this.sites(), function (item) {
                    return ko.utils.stringStartsWith(item.Name().toLowerCase(), filter);
                });
            }

        }, self);

我用它在我的页面上进行搜索,而不是 stringStartsWith,我想要某种 .contains,所以我得到的结果是我的搜索词包含在字符串中的任何位置,而不是仅仅在开头。

我想这一定是一个很常见的请求,但找不到任何明显的东西。

有什么建议吗?

【问题讨论】:

标签: asp.net-mvc-4 knockout.js


【解决方案1】:

您可以简单地使用string.indexOf method 来检查“字符串包含”:

self.filteredItems = ko.computed(function () {
    var filter = this.filter().toLowerCase();

    if (!filter) {
        return this.sites();
    } else {
        return ko.utils.arrayFilter(this.sites(), function (item) {
            return item.Name().toLowerCase().indexOf(filter) !== -1;
        });
    }

}, self);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 2016-08-21
    • 1970-01-01
    • 2018-08-13
    • 2013-08-14
    相关资源
    最近更新 更多