Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>a</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
</head>
<body>
    <div ng-app="ngFilterApp" ng-controller="namesCtrl">
        <p>Filtering input:</p>
        <p><input type="text" ng-model="search" /></p>
        <ul>
          <li ng-repeat="x in names | myFilter">
            {{ x.name + ', ' + x.country }}
          </li>
        </ul>
    </div>
</body>
</html>
 
var searchVal;
angular.module('CustomFilterModule', [])
  .filter('myFilter', function() {
  return function( input ) {
    searchVal = searchVal || '';
    var s = searchVal.toLowerCase();
    var arr = [];
    for (var i = 0; i < input.length; i++) {
      if(input[i].name.toLowerCase().indexOf(s) === 0 || input[i].country.toLowerCase().indexOf(s) === 0) arr.push(input[i]);
    }
    return arr;
  };
});
angular.module('ngFilterApp', ['CustomFilterModule'])
  .controller('namesCtrl', function($scope) {
  $scope.names = [
    {name:'Moscow',country:'Russia'},
    {name:'Kiev',country:'Ukraine'},
    {name:'Yerevan',country:'Armenia'},
    {name:'Washington',country:'USA'},
    {name:'Madrid',country:'Spain'},
    {name:'Tbilisi',country:'Georgia'}
  ];
  $scope.$watch('search', function() { searchVal = $scope.search; }, true);
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
anonymouspro
0viewers