分页角度搜索

时间:2015-06-11 08:55:15

标签: javascript angularjs

我正在尝试将搜索框与分页功能结合起来。

对于图像列表,请考虑以下标记:

<div class="panel panel-info" ng-repeat="image in galleryCtrl.images |
startFrom: galleryCtrl.currentPage * galleryCtrl.resultsPerPageNum |
limitTo: galleryCtrl.resultsPerPageNum  | filter: search | orderBy: sort">

和我的搜索框:

<div class="form-group" ng-hide="mySearch === 'false'">
    <label for="searchbox">Search: </label>
    <input type="text" id="searchbox" ng-model="search" 
    class="form-control" placeholder="What are we searching for?">
</div>

我的问题是,这种方式只搜索当前页面中的图像。如果我搜索第二页上出现的图像并且我在第一页上,则不会显示结果。我怎样才能首先应用搜索过滤器而不是“分页”?

修改 现在的问题是,在搜索框中输入多个字母后,没有搜索结果。 对于我的分页,我使用以下过滤器:

app.filter('startFrom',function(){
        return function(input,start) {
            start = +start; //int parsing
            return input.slice(start);
        }
});

也许这就是问题?

1 个答案:

答案 0 :(得分:1)

您应该在过滤器列表中预先移动filter: seach。这样,数据首先被过滤,然后被分页,然后排序。

像这样:

<div class="panel panel-info" ng-repeat="image in galleryCtrl.images | filter: search | startFrom: galleryCtrl.currentPage * galleryCtrl.resultsPerPageNum | limitTo: galleryCtrl.resultsPerPageNum | orderBy: sort">