我已经看过许多关于表搜索的示例和教程,并试图工作。问题是它只搜索当前页面中显示的表结果。我的意思是,我使用了分页,搜索文件管理器只能在用户可见的页面中使用。它没有在其他分页页面中获得结果。
我实现了一个简单的搜索,几乎在每个例子中都有解释。为什么我的方法表现得像这样?非常感谢帮助。
这是我的table.html
<div class="row">
<div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
<div class="input-group input-icon">
<input id="empid" ng-model="Search.empid" type="text" class="form-control" name="empid" placeholder="Search with ID">
<span class="input-group-addon">
<i class="fa fa-search s14"></i>
</span>
</div>
</div>
<div class="col-lg-6 col-md-6 col-sm-6 col-xs-12">
<div class="input-group input-icon">
<input id="ename" ng-model="Search.fname" type="text" class="form-control" name="ename" placeholder="Search with Name">
<span class="input-group-addon">
<i class="fa fa-search s14"></i>
</span>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 col-xs-12">
View <label>
<span>
<select class="form-control input-sm" ng-model="viewBy" ng-options="x for x in nums" ng-change="setEmployeesPerPage(viewBy)"></select>
</span>
</label> records at a time.
</div>
<table id="basic-datatables" class="table table-bordered table-hover" cellspacing="0" width="100">
<thead style="text-align:match-parent">
<tr>
<th rowspan="1" colspan="1" style="width:100px">
<a href="javascript:void(0)" class="table-links" ng-click="sortType='empid'; sortReverse=!sortReverse">
<span ng-show="sortType != 'empid'" class="fa fa-unsorted"></span>
<span ng-show="sortType == 'empid' && !sortReverse" class="fa fa-sort-asc"></span>
<span ng-show="sortType == 'empid' && sortReverse" class="fa fa-sort-desc"></span>
ID</a>
</th>
<th rowspan="1" colspan="1" style="width:200px">
<a href="javascript:void(0)" class="table-links" ng-click="sortType='fname'; sortReverse=!sortReverse">
<span ng-show="sortType != 'fname'" class="fa fa-unsorted"></span>
<span ng-show="sortType == 'fname' && !sortReverse" class="fa fa-sort-asc"></span>
<span ng-show="sortType == 'fname' && sortReverse" class="fa fa-sort-desc"></span>
First Name</a>
</th>
<th rowspan="1" colspan="1" style="width:200px">
<a href="javascript:void(0)" class="table-links" ng-click="sortType='lname'; sortReverse=!sortReverse">
<span ng-show="sortType != 'lname'" class="fa fa-unsorted"></span>
<span ng-show="sortType == 'lname'&& !sortReverse" class="fa fa-sort-asc"></span>
<span ng-show="sortType == 'lname'&& sortReverse" class="fa fa-sort-desc"></span>
Last Name</a>
</th>
<th rowspan="1" colspan="1" style="width:200px">Email</th>
<th rowspan="1" colspan="1" style="width:100px">Mobile</th>
<th rowspan="1" colspan="1" style="width:200px">Designation</th>
<th rowspan="1" colspan="1" style="width:200px">Dept. Name</th>
</tr>
</thead>
<tbody>
<tr ng-click="selectRow(emp)" ng-repeat="emp in employeeDetails.slice(((currentPage-1)*itemsPerPage),((currentPage)*itemsPerPage)) | filter:Search | orderBy:sortType:sortReverse" style="text-align:match-parent">
<td>{{emp.empid}}</td>
<td>{{emp.fname}}</td>
<td>{{emp.lname}}</td>
<td>{{emp.email}}</td>
<td>{{emp.mobile_no}}</td>
<td>{{emp.designation}}</td>
<td>{{emp.department_name}}</td>
</tr>
</tbody>
</table>
<div class="row">
<div class="col-md-8 col-xs-12">
<uib-pagination total-items="totalEmployees" ng-model="currentPage" ng-change="pageChanged()" max-size="maxSize" boundary-links="true" class="pagination" items-per-page="itemsPerPage"></uib-pagination>
</div>
</div>
这是我的controller.js
这就是我获得JSON的方式。
(function initController() {
EmployeeService.GetEmpDetails(function (res) {
$scope.employeeDetails = JSON.parse(res.data);
});
})();
如何正确实施它。感谢
答案 0 :(得分:1)
ng-repeat="emp in employeeDetails
| filter:Search
| limitTo: itemsPerPage : (currentPage-1)*itemsPerPage
| orderBy:sortType:sortReverse"
试试这个..首先过滤然后限制。