我該如何使用AngularJS
篩選器進行搜索功能使用此json
結構?角度js過濾器的搜索功能
$scope.jsonObj = {
idNo1: {
name: "Diljish",
age: 24
},
idNo2: {
name: "Shemeem",
age: 28
}
}
我該如何使用AngularJS
篩選器進行搜索功能使用此json
結構?角度js過濾器的搜索功能
$scope.jsonObj = {
idNo1: {
name: "Diljish",
age: 24
},
idNo2: {
name: "Shemeem",
age: 28
}
}
如果你想在對其進行過濾,NG-重複,你可以使用過濾器使用管道 「|」:
<div ng-repeat="person in people | filter: customFilter">
</div>
然後,在你定義控制器customFilter:
$scope.customfilter = function (person) {
return (person.name == $scope.nameToBeFiltered)}
其中「nameToBeFiltered」是您要過濾的名稱(您可以將該範圍變量模型化爲視圖中的輸入)。
現在,如果你想過濾別的地方,也許你正在尋找一個「Javascript:在Json中查找價值」而不是AngularJS。
沒有JavaScript代碼。
你應該創建input
數據進行過濾:
Filter: <input type="text" ng-model="yourFilter.name"/>
然後,在ng-repeat
:
<table>
<tr>
<th>Name</th>
<th>Age</th>
</tr>
<tr ng-repeat="person in persons | filter:yourFilter | orderBy:'name'">
<td>{{ person.name | uppercase}}</td>
<td>{{ person.age | lowercase}}</td>
</tr>
</table>
哪裏persons
是你json
對象。
(function()
{
var yourController=function($scope) {
$scope.persons= [];
function init() {
$scope.persons={
idNo1: {
name: "Diljish",
age: 24
},
idNo2: {
name: "Shemeem",
age: 28
}}
}
init();
};
yourController.$inject=['$scope'];
angular.module('yourApp').controller('yourController',
yourController);
}());
更新:
它仍然是相同的,如果你使用其他json
對象:
<body ng-init="people=[{ name:'Shemmem' }, { name:'Diljish' }]">
Filter: <input type="text" ng-model="yourFilter.name"/>
<table>
<tr>
<td>Name</td>
<td>City</td>
</tr>
<tr ng-repeat="person in people | filter:yourFilter">
<td>{{ person.name }}</td>
<td>{{ person.city }}</td>
</tr>
</table>
</body>
請找工作的代碼。
已經爲 「名」
(function(angular) {
'use strict';
angular.module('app', [])
.controller('ExampleController', ['$scope', function($scope) {
$scope.filtertext="";
$scope.jsonObj = {
idNo1: {
name: "Diljish",
age: 24
},
idNo2: {
name: "Shemeem",
age: 28
}
}
$scope.filterByName = function(items,filtertext) {
var result = {};
angular.forEach(items, function(value, key) {
if (value.name.toLowerCase().indexOf(filtertext) > -1) {
result[key] = value;
}
});
return result;
}
}]);
})(window.angular);
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Example - example-select-with-default-values-production</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.6/angular.js"></script>
</head>
<body ng-app="app">
<div ng-controller="ExampleController">
<input type="text" ng-model="filtertext"/>
<hr>
<div ng-repeat="(k,v) in filterByName(jsonObj,filtertext)">
{{k}} {{v.name}}
</div>
</div>
</body>
</html>
你怎麼想這個過濾器進行過濾? – vistajess
取決於名稱 – Diljish