假设我以ng-repeat以表格格式显示以下数据。
<div class="form-group">
<label >Search</label>
<input type="text" ng-model="search" class="form-control" placeholder="Search">
</div>
<table class="table table-striped table-hover">
<thead>
<tr>
<th>Id</th>
<th>First Name</th>
<th>Last Name</th>
<th>Hobby</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="user in users|filter:search">
<td>{{user.id}}</td>
<td>{{user.first_name}}</td>
<td>{{user.last_name}}</td>
<td>{{user.hobby}}</td>
</tr>
</tbody>
</table>
以上代码取自http://code.ciphertrick.com/2015/06/01/search-sort-and-pagination-
ngrepeat-angularjs/
这样我们就可以搜索。无论用户在搜索文本框中输入哪种内容,都将基于该过滤器生成数据,但是我的要求有些不同。
我将有一个下拉列表,其中将填充所有字段名称,并且用户将选择字段名称并将值放在文本框中,并且将在该特定字段名称而不是整个结果集上搜索数据。我怎么能做到这一点。
寻找指导。
从Angular文档改编为filter的东西可以正常工作。
<label>Search In: <select ng-model="ctrl.searchField">
<option value="_id">ID</option>
<option value="name">Name</option>
<option value="phone">Phone #</option>
<option value="dob">Birthday</option>
</select>
<label>Search For: <input ng-model="ctrl.searchText"></label>
<table id="searchTextResults">
<tr>
<th>ID</th>
<th>Name</th>
<th>Phone</th>
<th>Birthday</th>
</tr>
<tr ng-repeat="friend in ctrl.friends | filter:ctrl.filterList">
<td>{{friend._id}}</td>
<td>{{friend.name}}</td>
<td>{{friend.phone}}</td>
<th>{{friend.dob.toDateString()}}</th>
</tr>
</table>
angular.module("filterApp", []).controller("filterDemo", filterDemo)
function filterDemo() {
let vm = this;
vm.searchField = ""
vm.searchText = ""
vm.friends = [{
_id: 12323,
name: 'Will',
phone: '555-1276',
dob: new Date(1990,00,20)
}, {
_id: 34645764576,
name: 'Mike',
phone: '555-4321',
dob: new Date(1967,01,02)
}, {
_id: 6565656795,
name: 'Toni',
phone: '555-5678',
dob: new Date(1967,05,21)
}, {
_id: 2565656,
name: 'Leilani',
phone: '808-BIG-WAVE',
dob: new Date(2007,01,01)
}, {
_id: 67567567,
name: 'Julie',
phone: '555-8765',
dob: new Date(1991,12,01)
}, {
_id: 477676767,
name: 'Juliette',
phone: '555-5678',
dob: new Date(1991,12,01)
}, {
_id: 2565656,
name: 'Mary',
phone: '800-BIG-MARY',
dob: new Date(1991,12,01)
}]
vm.filterList = filterList
function filterList(row) {
if (vm.searchField && vm.searchText) {
let propVal = row[vm.searchField]
if (propVal) {
return propVal.toString().toUpperCase().indexOf(vm.searchText.toUpperCase()) > -1;
} else {
return false;
}
}
return true;
};
}
这是一个有效的Codepen:http
://codepen.io/anon/pen/yOjdJV?editors=1010
在我的控制器中,我想过滤一个对象数组。这些对象中的每一个都是一个映射,可以包含字符串和列表 我尝试使用< code>$filter('filter')(array,function)格式,但是我不知道如何在我的函数中访问数组的各个元素。这里有一个片段显示了我想要的。 然后在中,我将检查每个单独的属性是否匹配 我必须在控制器中完成所有这些操作,并编译一个列表列表并在范围内设置它们。因此,我确实需要以
问题内容: 在我的控制器内部,我想过滤一个对象数组。每个对象都是一个映射,可以包含字符串和列表 我尝试使用格式,但是我不知道如何在函数中访问数组的各个元素。这是显示我想要的内容的摘要。 然后在中,我将检查每个单个属性是否匹配 我必须在控制器中完成所有这些操作,并编译一个列表列表,然后在范围内进行设置。因此,我只需要以这种方式访问。到目前为止,我在网上发现的所有示例都在函数内部进行了静态条件搜索,它
演示在网关追加一个header public class CustomFilter implements GlobalFilter, Ordered { @Override public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) { // 演示在网关追加heade
SOFARPC 提供了一套良好的可扩展性机制,为各个模块提供 SPI 的能力。 SOFARPC 对请求与响应的过滤链处理方式是通过多个过滤器 Filter 来进行具体的拦截处理,该部分可由用户自定义 Filter 扩展,自定义 Filter 的执行顺序在内置 Filter 之后。具体方式如下: Bolt Filter 新建自定义 Filter 。 public class CustomFilter
本文向大家介绍详解AngularJS中自定义过滤器,包括了详解AngularJS中自定义过滤器的使用技巧和注意事项,需要的朋友参考一下 过滤器(filter)正如其名,作用就是接收一个输入,通过某个规则进行处理,然后返回处理后的结果。主要用在数据的格式化上,例如获取一个数组中的子集,对数组中的元素进行排序等。ng内置了一些过滤器,它们是:currency(货币)、date(日期)、filter(子
本文向大家介绍angularjs自定义过滤器demo示例,包括了angularjs自定义过滤器demo示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了angularjs自定义过滤器demo。分享给大家供大家参考,具体如下: 这个基于angularjs的过滤器是最近做的"信息管理学院实验室预约"项目中的一个小功能。 以下为数据: 具体功能: 分别在两个select选择星期和课次,列表会即