【问题标题】:How to filter inside ng-repeater something filtered by custom filter如何在 ng-repeater 中过滤由自定义过滤器过滤的内容
【发布时间】:2014-07-11 08:25:37
【问题描述】:

我有自定义过滤器:

errorReporter.filter('customDateFilter', function () {
    return function (input) {
        var input1 = parseInt(input.substring(6)); //da makne onaj /Date  početak
        var jsDate = new Date(input1);
        var day = jsDate.getDate();
        var month = jsDate.getMonth();
        var year = jsDate.getFullYear();
        return day.toString() + "." + (month + 1).toString() + "." + year.toString();
    };
});

我也有:

 <tr class="animate-repeat"  ng-repeat="error in latestErrors| orderBy:predicate:reverse|
 filter:{ TimeUtc :SearchTimeUtc}">

            <td >{{error.TimeUtc | customDateFilter}}</td>
        </tr>
     And somewhere I have filter input :
 <th><input type="text" ng-model="SearchTimeUtc" /></th>     

问题是我使用输入过滤“TimeUtc”而不是“TimeUtc | customDateFilter”。

例如,我有 TimeUtc /Date/5869454458/ 和 TimeUtc | customDateFilter 返回 12.07.2014。如果我在输入中输入 2014,它不会过滤。如果我输入 5869,则会过滤行。

更新: 我做了这个过滤器: errorReporter.filter('SearchTimeUtcFilter', function () {

return function (input) {
    var input1 = parseInt(input.substring(6)); //da makne onaj /Date  početak
    var jsDate = new Date(input1);
    var day = jsDate.getDate();
    var month = jsDate.getMonth();
    var year = jsDate.getFullYear();
    var datum = day.toString() + "." + (month + 1).toString() + "." + year.toString();
    $log.info("why doesn't log?");
    if (datum.indexOf($scope.SearchTimeUtc) > -1)
        return true;
    return false;
}

}); 并在 ng-repeat 内部:

 <tr class="animate-repeat"  ng-repeat="error in latestErrors| orderBy:predicate:reverse|
 filter:{ TimeUtc :SearchTimeUtcFilter}">

还是什么都没有:(

【问题讨论】:

    标签: javascript angularjs


    【解决方案1】:

    您为什么不尝试链接过滤器?基本上,一个过滤器的输出成为下一个过滤器的输入。 https://docs.angularjs.org/guide/filter

    【讨论】:

    • 显示代码。在 ng-repeat 过滤器里面写什么?
    • 我为你创造了一个小小提琴jsfiddle.net/ckQ2U一个过滤器故意将每个单词都大写。仅当文本框中的值与大写单词匹配(即过滤器的输出)时,第二个过滤器才匹配 - 就像您的修改日期...如果您提供小提琴,我们可以使用它,但我认为这个示例应该可以帮助您问题。希望这会有所帮助
    猜你喜欢
    • 1970-01-01
    • 2014-06-13
    • 2015-02-24
    • 1970-01-01
    • 2012-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多