Angularjs ng-repeat filter by id
Angularjs ng-repeat filter by id
嗨,我在 MySQL 中有 2 个表,我用 php(mysqli) 调用数据,所以我把这些数据放在 JavaScript var 中,$scope.student= <?php echo json_encode( $student) ?>;
和 $scope.ratings= <?php echo json_encode( $ratings) ?>;
2 个表有一个键 ID(ID_studen)
第一个表只有一个个人数据,第二个表有 datails,所以我需要通过这里的评级过滤和显示所有详细信息 代码:
<div ng-app="" ng-controller="Ctrl">
<ul ng-repeat="student in students">
<li ng-repeat="rating in ratings (where student.tagid =ratings.tagid"> {{rating.note}}</li>
</ul>
</div>
检查 jsfiddle.net
您可以使用
$filter请参阅下面的演示
app = angular.module("app", []);
app.controller("Ctrl", Ctrl);
function Ctrl($scope) {
$scope.students = [{
firstname: 'Buster',
lastname: 'Bluth',
tagid: '4134'
}, {
firstname: 'John',
lastname: 'McClane',
tagid: '9845'
}, {
firstname: 'Mister',
lastname: 'Spock',
tagid: '0905'
}];
$scope.ratings = [{
matter: 'Mathematics',
note: '12',
tagid: '4134'
}, {
matter: 'Biology',
note: '13',
tagid: '9845'
}, {
matter: 'Lenguage:',
note: '14',
tagid: '0905'
}];
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="Ctrl">
<ul ng-repeat="student in students">
<li ng-repeat="rating in ratings | filter : {tagid: student.tagid}">{{student.firstname}} {{student.lastname}} | {{rating.matter}} {{rating.tagid}}</li>
</ul>
</div>
<div ng-app="" ng-controller="Ctrl">
<ul ng-repeat="student in students">
<li ng-repeat="rating in ratings | { tagid = student.tagid }">{{rating.note}}</li>
</ul>
</div>
以下是对属性进行内联过滤的实际方法:
<li ng-repeat="rating in ratings | filter: {'tagid': student.tagid}"> {{rating.note}}</li>
但是请注意,预过滤结果列表的性能更高,因此在控制器中,您将放置
$scope.filteredRatings = $scope.ratings.filter(function(r) {
return r.tagid === $scope.student.tagid;
});
所以你的html只会是:
<li ng-repeat="rating in filteredRatings"> {{rating.note}}</li>
最后,我对 php 不是很满意,但这听起来像是一种填充模型的奇怪方式。你应该在实际的javascript文件中执行此操作,而不是在HTML中。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- getDocument by id/get input text from button dons'不起作用
- jQuery li element select by ID
- Angularjs ng-repeat filter by id
- db.collection findOne by id 运行但不返回
- Dojo Query by ID defaulting to getElementById
- window.location 无法使用 get element by id 来工作
- Get Element by ID 返回使用 JavaScript 动态添加的元素的 null
- JS getElement by ID+Class
- Arcgis Javascript Api - Show WebMap by Id
- javascript select iframe by id
- 在Titanium中选择Object by Id
- 点击显示多个元素ref by id使用javascript
- jQuery Remove by id
- D3 - Select by id
- ionic sqlite delete by id, item undefined