How To Do Ng-repeat With Filter Using Angularjs?
Here I added my code i want to search based on user input i tried this but filter: first_name_model i am not getting proper result for example : Run code Snippet enter '2' and s
Solution 1:
Please change ng-model of input to first_name_model.no It works form me
<scriptsrc="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script><divng-app="myApp"ng-controller="namesCtrl">
filter data <inputtype = "text"ng-model = "first_name_model.no"/><br><br><br><table><tr><th>Number</th><th>DisplayName</th></tr><trng-repeat="student in students | filter: first_name_model"><td><inputtype="text"ng-model ="student.no"></td><td><selectng-model="student.userid"placeholder="Assigned To"name="userid{{$index}}" ><optionng-repeat="user in users | orderBy: 'DisplayName'"ng-value="user._id">
{{user.DisplayName}}</md-option></md-select></td></tr></table></div>
Solution 2:
angular.module('myApp', []).controller('namesCtrl', function($scope) {
$scope.search = function(item) {
if (!$scope.query || (item.no.toLowerCase().indexOf($scope.query) != -1) || (item.AssignedToDisplayName.toLowerCase().indexOf($scope.query) != -1) ){
returntrue;
}
returnfalse;
};
$scope.students = [{
"firstname": "irfan",
"lastname": "k",
"no":"2",
"userid": "5706b916bb729ecc876192d2"
},
{
"firstname": "asif",
"lastname": "Y",
"no":"3",
"userid": "5706b916bb729ecc87619245"
},
{
"firstname": "arun",
"lastname": "D",
"no":"6",
"userid": "5706b916bb729ecd876452d2"
},
{
"firstname": "smart",
"lastname": "k",
"no":"5",
"userid": "5706b916bb729ecc876452d2"
},
{
"firstname": "rajesh",
"lastname": "v",
"no":"4",
"userid": "5706b916bb729ecc87619245"
}
];
$scope.users = [{
"_id": "5706b916bb729ecc87619245",
"DisplayName": "irfan kadhar",
},
{
"_id": "5706b916bb729ecc876192d2",
"DisplayName": "asif yohana",
},
{
"_id": "5706b916bb729ecc876452d2",
"DisplayName": "smar kiran",
},
{
"_id": "5706b916bb729ecd876452d2",
"DisplayName": "arun dinesh ",
}
]
if ($scope.students) {
for (var i = 0; i < $scope.students.length; i++) {
for (var j = 0; j < $scope.users.length; j++) {
if ($scope.students[i].userid == $scope.users[j]._id) {
$scope.students[i].AssignedToDisplayName = $scope.users[j].DisplayName;
}
}
}
}
});
<scriptsrc="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script><divng-app="myApp"ng-controller="namesCtrl">
filter data <inputtype = "text"ng-model = "query"/><br><br><br><table><tr><th>Number</th><th>DisplayName</th></tr><trng-repeat="student in students | filter:search"><td><inputtype="text"ng-model ="student.no"></td><td><selectng-model="student.userid"placeholder="Assigned To"name="userid{{$index}}"><optionng-repeat="user in users | orderBy: 'DisplayName'"ng-value="user._id">{{user.DisplayName}}</option></select></td></tr></table></div>
Post a Comment for "How To Do Ng-repeat With Filter Using Angularjs?"