Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何使用两个标准(选择和输入)进行搜索_Angularjs - Fatal编程技术网

Angularjs 如何使用两个标准(选择和输入)进行搜索

Angularjs 如何使用两个标准(选择和输入)进行搜索,angularjs,Angularjs,我是angular js的新手,我正在尝试使用selectbox在my表中搜索。 我希望我的搜索将基于两个标准:(我将在输入项上写什么,以及我将选择什么) 例如,如果我选择(按名称搜索),我应该只根据名称搜索: 这是我的密码: <div ng-controller="mycontrolleur"> <input type='text' ng-model="searchT"> <select ng-model="choix"> <optio

我是angular js的新手,我正在尝试使用selectbox在my表中搜索。 我希望我的搜索将基于两个标准:(我将在输入项上写什么,以及我将选择什么) 例如,如果我选择(按名称搜索),我应该只根据名称搜索: 这是我的密码:

<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'}”