[英]Angular JS how can i switch filters on checkbox values changed?
我有这段代码,现在我想创建两个复选框,一个用于“ emp_nome”,另一个用于“ local”,当我检查它们中的任何一个时,我只能在输入中搜索那些选中的值,请帮助
<input type="text" id="myInput" ng-model="search.SN" placeholder="Search for names..">
<div style="overflow-x:auto;">
<table id="myTable">
<tr style="border-bottom:1px solid black;" class="header">
<td>ID</td>
<td>Nome Entidade</td>
<td>Ultima Localização</td>
<td>Categoria</td>
<td>Nº de Reclamações contra Entidade</td>
<td>Data da última reclamação</td>
</tr>
<tr ng-repeat="x in myData | filter: {emp_nome: search.SN} || filter: {local: search.SNs}" id="removal">
<td>{{ x.id }}</td>
<td style="background:rgba(0, 159, 255, 0.24);font-size:17px;"><u>{{ x.emp_nome }}</u></td>
<td>{{ x.local }}</td>
<td>{{ x.tipo }}</td>
<td>
<center>{{ x.emp_rec }}</center>
</td>
<td>
<center>{{ x.data }}</center>
</td>
</tr>
</table>
<br><br>
</div>
您可以动态创建过滤器表达式并在控制器中对其进行管理。 我的意思是ng-repeat="x in myData | filter: {emp_nome: search.SN}"
可能是ng-repeat="x in myData | filter: filterObject"
并且您可以通过使用ng-change(在输入文本和复选框中)来填充该filterObject
以使您想要在过滤器中使用的对象
ng-change中的示例可能是:
if (checkboxValue === 'local') { //local checked
$scope.filterObject = {local: $scope.search.SN};
} else if (checkboxValue === 'emp_nome') {//emp_nome checked
$scope.filterObject = {emp_nome: $scope.search.SN};
} else { //filter by all
$scope.filterObject = $scope.search.SN;
}
这只是一个例子,我不知道你如何管理
有关过滤器的官方文档: https : //docs.angularjs.org/api/ng/filter/filter
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.