我有一个关于$(info starting shell: $(SCRIPT))
OUT := $(shell $(SCRIPT))
来搜索示例名称的问题。这很容易在ng-repeat上实现。
我遇到的问题实际上是我要基于filter
或name
(两个不同的实体)进行过滤。
我所尝试的是在account_name
和name
上对输入框进行过滤,但没有成功。我做的是这个:
account_name
所以我有:
1)输入字段(搜索框)
2)<input type="text" placeholder="Search" ng-model="searchName.name">
<md-card flex="45" flex-sm="100" flex-md="100" flex-xs="100" ng-show="(account|filter:searchName).length > 0"
ng-repeat="account in containers | groupBy: 'accountId' track by $index | filterBy: ['name', 'account_name']: searchName.name| filterBy: ['name', 'account_name']: searchName.account_name">
<md-toolbar>
<div class="md-toolbar-tools" ng-repeat="container in account | limitTo: 1">
<h1 class="md-display-3"> <a href="{{container.tagManagerUrl}}">{{container.account_name}}</a></h1>
</div>
</md-toolbar>
(.... some code that is not important)
//table start
<tr ng-repeat="container in account | filterBy: ['name', 'account_name']: searchName.name| filterBy: ['name', 'account_name']: searchName.account_name">
上使用的<md-card>
3)ng-repeat
与md-card相关但我必须在这里运行ng-repeat
4)带有ng-repeat的表,显示条目。
这是我尝试过的路线:
<md-toolbar>
但是我无法在输入字段filterBy: ['name', 'account_name']: searchName.name| filterBy: ['name', 'account_name']: searchName.account_name
中声明这会引发错误
解决方案我希望尝试是有一个下拉菜单,我可以选择按ng-model="searchName.name && searchName.account_name"
或name
进行过滤
看起来像这样:
如果可以通过输入字段中的account_name和name进行搜索,那么即使不是这样也会很好。希望你能帮助我前进并指导我所需要的以及我是如何做到的(不需要你做所有工作)。
由于
答案 0 :(得分:1)
可以通过account_name和name进行搜索,您可以将对象传递给过滤器。
<input type="text" placeholder="Search" ng-model="search.name">
<input type="text" placeholder="Search" ng-model="search.account_name">
<tr ng-repeat="container in account | filter:{name: search.name, account_name: search.account_name}>
</tr>
您也可以使用自定义过滤器
JS
$scope.customFilter = function(row){
if($scope.Search == undefined || $scope.Search == "")
return true;
else if(row.name.indexOf($scope.Search) !== -1 || row. account_name.indexOf($scope.Search) !== -1)
return true;
else
return false;
}
HTML
<tr ng-repeat="container in account | filter:customFilter>
</tr>