Пожалуйста, кто-нибудь Помогите мне исправить угловую фильтрацию js от всех предметов - PullRequest
0 голосов
/ 08 июля 2019

Я хочу искать элементы по всей нумерации страниц, есть массив фильтруемых элементов, в который помещается объект с именем datalist, который содержит весь список мне нужно искать из общих данных, его поиск в порядке с данными, отображаемыми на paga, но проблема возникает, когда я пытаюсь выполнить поиск по всем

вот мое поле ввода ввода

<div class="col-lg-12">
                        <label class="col-lg-1">Search:</label>
                        <input class="col-lg-3"  id="myInput"  ng-model="search"/>
                    </div>

и вот мой код в теле таблицы здесь все атемы хранятся в фильтруемой части.datalist

 <tbody >

    <tr ng-repeat="def in filteredItems track by $index" id="companyItemRow-{{def.Id}}">
                                        @*<td ng-repeat="abc in def.DataList | filter : search">{{abc}}</td>*@

                                        <td ng-repeat="abc in def.DataList = ( total-items | filter : search) limitTo:3:3*(currentPage-1) ">{{abc}}</td>

                                            <td>
                                            <input type="button" class="btn btn-sm btn-success" ng-click="selectToTempList($index,def.Id)" value="Add" />
                                            <i id="companyItemRemoveBtn-{{def.Id}}" ng-click="removeFromTempList(def.Id)" class="fa fa-close" style="font-size:20px;color:red;visibility:hidden;cursor:pointer;"></i>
                                            </td>

                                    </tr>
                                </tbody>

На самом деле список содержит много столбцов, и мне нужно искать из общих столбцов и общих данных на странице нумерации страниц

и вот мой код нумерации страниц

<pagination ng-model="currentPage"
                                total-items="filteredItems.length"
                                max-size="maxSize"
                                boundary-links="true"
                                ng-change="pageChanged()">
                    </pagination>

и вот мой код в контроллере

$scope.filteredItems = [],
               $scope.currentPage = 1,
               $scope.numPerPage = 10,
               $scope.maxSize = 5;
        $scope.q='';//mera

        $scope.getData = function () {//mera


            return $filter('filter')($scope.datalist, $scope.q)
        }

        $scope.numberOfPages=function(){//mera
            return Math.ceil($scope.getData().length/$scope.numPerPage);                
        }


        $scope.$watch('q', function (newValue, oldValue)
        {


            return $filter('filter')($scope.datalist, $scope.q);
            //if(oldValue!=newValue)
            //{
            //$scope.currentPage = 0;
            //}
        },
        true
        );


        $scope.$watch('currentPage + numPerPage', function () {               //mera ni ha
            var begin = (($scope.currentPage - 1) * $scope.numPerPage)
            , end = begin + $scope.numPerPage;

            $scope.filteredItems = $scope.datalist.slice(begin, end);
        });
...