2017-02-23 70 views
0

我想在一个表中,以将过滤器应用于多个领域,在HTML代码中,我有一个单一的文本框进行搜索如何使用多个字段过滤器angularjs

<body ng-app="myApp" ng-controller="myController"> <input type="text" placeholder="Search " ng-model="search"> 
var app = angular.module('myApp', []); app.controller('myController', function($scope) {$scope.employee = [ 
{ empid: 1, empname: 'saisree', division:'IS',mgr:'A',clientlocation:'PA' }, 
{ empid: 2, empname: 'poojitha', division:'IS',mgr:'A',clientlocation:'PA' }, 
{ empid: 3, empname: 'shyam', division:'IS',mgr:'A',clientlocation:'PA'}, 
{empid: 4, empname: 'shariff', division:'IS',mgr:'A',clientlocation:'PA'}, 
{empid: 5, empname: 'anvita', division:'GIS',mgr:'B',clientlocation:'AZ'}, 
{empid: 6, empname: 'poojitha';`division:'Retail',mgr:'C'clientlocation:'UK';];}); 
<tbody> 
    <tr ng-repeat="e in employee | filter:search "> 
    <td>{{ e.empid }}</td> 
    <td>{{ e.empname }}</td> 
    <td>{{ e.division }}</td> 
    <td>{{ e.mgr }}</td> 
     <td>{{ e.clientlocation }}</td> 
    </tr> 
</tbody> 

用户应该能够搜索从一个单一的文本框给予empid,empname,division,mgr,clientloaction。请看看这个问题。

这是我正在应用过滤器的表,但在过滤器中进行搜索时一次适用于所有列!

+0

这里是要应用的过滤表?您只在这里显示输入框和样本数据,您没有显示显示部分。 – Claies

+0

嗨谢谢我已经更新了代码,请查看它! –

+0

所以你想提供某种单选按钮或下拉列表来限制搜索到单个列? – Claies

回答

0

尝试这样做

<label>your input: <input ng-model="search.$"></label> <br> 

<tbody> 
    <tr ng-repeat="e in employee |filter:search:strict "> 
    <td>{{ e.empid }}</td> 
    <td>{{ e.empname }}</td> 
    <td>{{ e.division }}</td> 
    <td>{{ e.mgr }}</td> 
     <td>{{ e.clientlocation }}</td> 
    </tr> 
</tbody> 
+0

'。$'做什么?这将如何工作? – Claies

+0

这将匹配任何关键,例如,如果你想过滤.empid或.empname等..它会过滤, – sai

+0

谢谢!我试图做错误的方式现在它的工作正常! –