如何在AngularJS中查找值并在HTML表中显示数据
How to look up a value in AngularJS and display data in HTML table
我目前正在从restul GET调用返回JSON数据集。第一个响应集用于构建HTML数据表。其中一个值是来自数据库中数据表的数字ID。
在另一组JSON数据中,是一组值,这些值对应于第一个数据集中的数字id值。
我正试图在第一组中的数值的基础上查找第二组中的值。
我已经能够使用标记和ng选项来实现这一点,但这个特定的列只需要是一个带有数据值的静态标记。
我的标签看起来像
<td><select id="basOrgs" class="form-control grid-input" ng-model-options="{updateOn: 'blur'}" ng-model="item.OrgUid" ng-options="org.OrganizationUid as org.OrganizationDisplay for org in Orgs"></select></td>
我试图实现的是使用模型项。OrgUid在Orgs数据集中查找一个值,以显示基于项目的Orgs.OrganizationDisplay。OrgUid值。
我尝试了ng重复,但没有成功。
<td ng-model="item.OrgUid" ng-repeat="org in Orgs track by org.OrganizationUid">{{org.OrganizationDisplay}}</td>
项目模型看起来像{OrgUid: 123456, Active:'Y',
StartDate'}组织模型看起来像"{OrgUid:123456,OrgDisplay:"组织名称"}
我想做的是在基于项目的标记中显示OrgDisplay值。OrgUid值。
如有任何帮助,我们将不胜感激。
谢谢,--Jim
假设控制器中有$scope.orgs
,如何
<td ng-model="item.OrgUid" ng-repeat="org in Orgs track by org.OrganizationUid">{{lookup[org.OrganizationUid].OrganizationDisplay}}</td>
我会编辑它以包含正确的查找代码,但这就是我的想法。
你可以制作一个查找对象来促进这一点:
var lookup = {};
for (var i = 0, len = orgs.length; i < len; i++) {
lookup[array[i].OrganizationUid] = array[i];
}
下面是一个使用两个"数据集"之间查找的工作片段。
var myApp = angular.module('myApp', []);
myApp.controller('myController',
function($scope) {
$scope.Orgs = [{
OrgUid: 1,
OrgDisplay: 'Org 1'
}, {
OrgUid: 2,
OrgDisplay: 'Org 2'
}, {
OrgUid: 3,
OrgDisplay: 'Org 3'
}];
$scope.Items = [{
OrgUid: 1,
Active: 'Y',
StartDate: "12/1/1984"
}, {
OrgUid: 2,
Active: 'Y',
StartDate: "12/1/1984"
}, {
OrgUid: 3,
Active: 'Y',
StartDate: "12/1/1984"
}];
$scope.lookup = {};
for (var i = 0, len = $scope.Orgs.length; i < len; i++) {
$scope.lookup[$scope.Orgs[i].OrgUid] = $scope.Orgs[i];
}
});
.item {
border:1px solid green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<html ng-app="myApp" ng-controller="myController">
<body>
<span class="item" ng-model="item.OrgUid" ng-repeat="item in Items">{{lookup[item.OrgUid].OrgDisplay}}</td>
</body>
</html>
相关文章:
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 使用鼠标悬停JavaScript/HTML显示文本
- 用javascript在html显示列表中显示新成员
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- HTML 显示/隐藏元素 JS 不起作用
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 使用javascript for html显示特定时区的日期和时间
- 如何将一个元素的外部HTML显示为另一个元素的内容
- 将SQL BIT转换为JSON,直到jQuery,最后以HTML显示
- 使用 Javascript 迭代以 HTML 显示多个图像
- 文本(输入)字段中的 HTML 显示结果
- PHP - 作曲家自动加载器导致 html 显示在浏览器中
- 将HTML文件中的表单提交到PHP文件,并以相同的HTML显示结果
- 如何使 HTML/Javascript 从 PHP 脚本接收数据并以 HTML 显示
- 显示一个图像,然后使用 HTML 显示另一个图像
- input type=“password” 在 IE 11 上使用 HTML 5 显示文本
- 使用 JSON 从 PHP 返回数组并以 HTML 显示内容的适当方法
- Jquery对话框IE9内容未使用html显示
- HTML显示在“;查看源“;与Firebug中显示的HTML不同
- 使用jQuery.HTML()插入时HTML显示不正确