2016-08-31 221 views
0

我正在寻找angularjs多状态过滤器,如this arr in array | filter:filters.search | filter:{company: selectedName} | filter:{voucher_type: both }它工作,但没有过滤所有条件我粘贴我的完整代码在这里。 filter:{company: selectedName} | filter:{voucher_type: both }此过滤器的步骤是错误的,我的代码。@感谢您回应angularjs过滤器没有过滤multipe过滤器的值

<html > 
<head> 
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/> 
<title>search</title> 
</head> 
<body> 
<div ng-app="app" ng-controller="mainCtrl"> 

<div><select ng-model="selectedName" ng-options="x for x in names"> 
</select> 
    </div> 
    <input type="text" ng-model="both"> 
     <div>Search by Name: <input type="text" ng-model="filters.search"></div> 

     <div ng-repeat="arr in array | filter:filters.search | filter:{company: selectedName} | filter:{voucher_type: both } "> 
      <span ng-bind="arr.name"></span>  
     </div> 

</div> 

<script type="text/javascript" src="js/angular.min.js"></script> 
<script src="js/ui-bootstrap-tpls-0.9.0.js"></script> 
<script type="text/javascript"> 
var app = angular.module('app', []); 
app.controller('mainCtrl', function($scope) { 

$scope.names = ["x", "y"]; 
     $scope.filters = { 
     x: false, 
     company: '', 
     search: '' 
    }; 

     $scope.actions = { 
     updateyCompany: function() { 
      if($scope.filters.y) { 
       $scope.filters.company = 'y'; 
      } else { 
       $scope.filters.company = ''; 
      } 
     } 
    }; 

    $scope.both ="z"; 

    $scope.array = [ 
    {name: 'Tobias', lname: 'TLname', company: 'x'}, 
    {name: 'Jeff', lname: 'JLname', company: 'x'}, 
    {name: 'Brian', lname: 'BLname', company: 'x'}, 
    {name: 'Igor', lname: 'ILname', company: 'y'}, 
    {name: 'James', lname: 'JLname', company: 'z'}, 
    {name: 'Brad', lname: 'BLname', company: 'y'}, 
    {name: 'Basil', lname: 'Basil', company: 'z'}, 
    ]; 
}); 
</script> 


</body> 
</html> 

回答

0

场voucher_type是不是你的数组中可用,因此,它不能找出来。请添加此字段并使滤波器正常工作。 !

+0

海@维杰 - 帕特尔..上午的变化,现在也有错误..这正在粘贴错误 – basil

+0

什么错误给你? – VjyV

0

上午作出一些改变它做工精细现在filter:valFilter过滤器发生变化,添加新功能

$scope.valFilter = function (arr) { 
    return (arr.company == "z" || arr.company == $scope.selectedName); 
    } 

谢谢大家