Angularjs 如何使用两个标准(选择和输入)进行搜索
我是angular js的新手,我正在尝试使用selectbox在my表中搜索。 我希望我的搜索将基于两个标准:(我将在输入项上写什么,以及我将选择什么) 例如,如果我选择(按名称搜索),我应该只根据名称搜索: 这是我的密码:Angularjs 如何使用两个标准(选择和输入)进行搜索,angularjs,Angularjs,我是angular js的新手,我正在尝试使用selectbox在my表中搜索。 我希望我的搜索将基于两个标准:(我将在输入项上写什么,以及我将选择什么) 例如,如果我选择(按名称搜索),我应该只根据名称搜索: 这是我的密码: <div ng-controller="mycontrolleur"> <input type='text' ng-model="searchT"> <select ng-model="choix"> <optio
<div ng-controller="mycontrolleur">
<input type='text' ng-model="searchT">
<select ng-model="choix">
<option value='nom'>search by name</option>
<option value='cin'>search by CIN</option>
</select>
<table border="1">
<tr><td>Nom</td><td>CIN</td></tr>
<tr ng-repeat="x in students|filter:searchT|orderBy:choix">
<td>{{x.nom}} </td><td>{{x.cin}}</td></tr>
</table>
</div>
<script src='angular.min.js'></script>
<script>
var app=angular.module('searchApp',[]);
app.controller('mycontrolleur',function($scope)
{
$scope.students=[{nom:'marwen',cin:11155},
{nom:'mounir',cin:15885},
{nom:'maryem',cin:25155},
{nom:'ahmed',cin:77555},
{nom:'amel',cin:88155}
];
});
</script>
按姓名搜索
CIN搜索
诺姆辛
{x.nom}{x.cin}
var-app=angular.module('searchApp',[]);
应用控制器('mycontrolleur',函数($scope)
{
$scope.students=[{nom:'marwen',cin:11155},
{姓名:'mounir',cin:15885},
{姓名:'maryem',cin:25155},
{姓名:'ahmed',cin:77555},
{姓名:'amel',cin:88155}
];
});
谢谢你们的帮助:)你们可以使用这样的过滤器:
app.filter('filterByCustomProp', function($filter) {
return function(source, prop, searchValue) {
if (!searchValue) return source;
if (!prop) return $filter('filter')(source, searchValue); //search on name & CIN
return source.filter(function(item) {
return (item[prop].toString().indexOf(searchValue) > -1);
});
};
});
然后你可以打电话:
<tr ng-repeat="x in students|filterByCustomProp:choix:searchT|orderBy:choix">
按姓名搜索
CIN搜索
笔名
CIN
{{x.nom}}
{x.cin}
var-app=angular.module('searchApp',[]);
app.filter('filterByCustomProp',函数($filter){
返回函数(源、属性、搜索值){
如果(!searchValue)返回源;
如果(!prop)返回$filter('filter')(source,searchValue);//搜索name&CIN
返回源.filter(函数(项){
返回(item[prop].toString().indexOf(searchValue)>-1);
});
};
});
应用控制器('mycontrolleur',函数($scope){
$scope.students=[{
名字:“marwen”,
电话:11155
}, {
名字:“穆尼尔”,
电话:15885
}, {
名字:“maryem”,
电话:25155
}, {
名字:“艾哈迈德”,
电话:77555
}, {
名称:“阿米尔”,
电话:88155
}];
});
您好,您可以使用“按对象筛选”。例如:
ng repeat=“客户端中的客户端|筛选器:{name:'Brett',名称:'1'}”