您好我有一个小项目,我希望从多个动态添加的文本字段中执行搜索。
这是我添加搜索字段的方式:
<div class="form-group" ng-repeat="choice in choices">
<button ng-show="showAddChoice(choice)" ng-click="addNewChoice()">Add another choice</button>
<input type="text" ng-model="choice.name" name="" placeholder="Search criteria">
</div>
后来我有一个ng-repeat的表格,这里是那个部分:
<tr ng-repeat="todo in todos | filter: {filter from all fields}">
.......
</tr>
我想要做的是使用所有动态添加的搜索字段过滤内容。
答案 0 :(得分:0)
您必须创建自己的过滤器来处理它。我已经走了,让你开始。
$scope.myFilter = function(input){
for(var key in input){
for(var x = 0; x < $scope.choices.length; x++){
if(input[key] == $scope.choices[x].name){
return true;
}
}
}
return false;
}
以下是输出的jsFiddle:http://jsfiddle.net/wsPrv/
答案 1 :(得分:0)
不是使用过滤器,而是自己在控制器中进行过滤。 Here是解决方案的更新小提琴。在第一个文本框中,将choice1替换为“some”,您将看到显示文本“Some stuff”的待办事项。
请参阅下面的相关部分。有关详细信息,请参阅小提琴。
$scope.$watch('choices', function(newValue) {
$scope.DisplayedTodos = [];
// Filter items here and push to DisplayedTodos. Use DisplayedTodos to display todos
}, true);