Javascript Angularjs使用id获取属性
我有一张桌子Javascript Angularjs使用id获取属性,javascript,angularjs,Javascript,Angularjs,我有一张桌子 { "id": 1, "plate_types_id": 1, "project_id": 1, "deleted_at": null, "created_at": "2015-10-21 18:42:26", "updated_at": "2015-10-21 18:57:27" } db中的另一个表称为platetypes "data": { "PlateTypes": [ {
{
"id": 1,
"plate_types_id": 1,
"project_id": 1,
"deleted_at": null,
"created_at": "2015-10-21 18:42:26",
"updated_at": "2015-10-21 18:57:27"
}
db中的另一个表称为platetypes
"data": {
"PlateTypes": [
{
"id": 1,
"name": "Sibyl Streich",
"description": "Necessitatibus.",
"document_id": 7,
"created_at": "2015-10-21 18:42:25",
"updated_at": "2015-10-21 18:42:25"
}
我想要的是,当我选择一个车牌时,我也可以获得车牌类型\u id
,但是我不想看到id
,而是想检索车牌类型的名称,在这种情况下,它是假数据“Sibyl Streich”
在我的html中,我有以下内容
<div class="form-group">
<label class="col-sm-2 control-label">Select a plate:</label>
<div class="col-sm-5">
<select class="form-control m-b-sm" id="plateId" ng-model="selectedPlate.item" ng-options="plate as (plate.id + ' - ' + plate.serial_number) for plate in plates" required="true" />
<option value=" ">----------</option>
</select>
</div>
</div>
<div class="form-group">
<label for="input-readonly" class="col-sm-2 control-label">Plate Type: </label>
<div class="col-sm-5">
<input type="text" class="form-control" id="input-readonly" value="{{selectedPlate.item.plate_types_id}}" readonly>
</div>
</div>
选择一个盘子:
----------
板材类型:
如果我选择了selectedPlate.item.plate\u type\u id
,它就可以工作,在这种情况下返回1
,但是我可以获得name
属性而不是id
,或者使用id
来获得名称
我试过这样的东西
selectedPlate.item.plate\u type\u id.name
但它不起作用。我怎样才能做到这一点 我发现至少有两种方法可以通过id获取车牌名称:
- 将
“plateTypes”
数组转换为由id
属性索引的对象。然后在模板中,您可以得到如下名称:
plateTypes[selectedPlate.item.plate_type_id].name
getPlateType(selectedPlate.item.plate_type_id).name
- 编写一个实用函数,给定
id
,在plattypes
中搜索。然后在模板中,您将得到如下名称:
plateTypes[selectedPlate.item.plate_type_id].name
getPlateType(selectedPlate.item.plate_type_id).name
我发现至少有两种方法可以通过id获取车牌名称:
- 将
“plateTypes”
数组转换为由id
属性索引的对象。然后在模板中,您可以得到如下名称:
plateTypes[selectedPlate.item.plate_type_id].name
getPlateType(selectedPlate.item.plate_type_id).name
- 编写一个实用函数,给定
id
,在plattypes
中搜索。然后在模板中,您将得到如下名称:
plateTypes[selectedPlate.item.plate_type_id].name
getPlateType(selectedPlate.item.plate_type_id).name
我已经尝试过了,但我想我做错了什么。请提供一个示例代码,也许是一个JSFIDLE演示。非常感谢,请稍等。顺便说一句,由于您希望获得给定id的车牌名称,我假设plattypes
中的id是唯一的,不是吗?id确实是唯一的。但是,我想获取plate\u type
名称,而不是plate
名称,因为plate
表没有name
属性。所以带有id
1的platetype
的名称现在是Sibyl Streich
符合您的需要吗?我知道这变得非常尴尬,但是我正在试图找到一种方法来分配这个API调用plateTypes
这里是我的方法$scope.typesById={};var plateTypes=PlateTypesFactory.query(函数(plateTypes){$scope.plateTypes=plateTypes;});plattypes.forEach(函数(类型){$scope.typesById[type.id]=type;})代码>//我得到一个错误plattypes.forEach不是一个函数我已经尝试过了,但我想我做错了什么。请提供一个示例代码,也许是一个JSFIDLE演示。非常感谢,请稍等。顺便说一句,由于您希望获得给定id的车牌名称,我假设plattypes
中的id是唯一的,不是吗?id确实是唯一的。但是,我想获取plate\u type
名称,而不是plate
名称,因为plate
表没有name
属性。所以带有id
1的platetype
的名称现在是Sibyl Streich
符合您的需要吗?我知道这变得非常尴尬,但是我正在试图找到一种方法来分配这个API调用plateTypes
这里是我的方法$scope.typesById={};var plateTypes=PlateTypesFactory.query(函数(plateTypes){$scope.plateTypes=plateTypes;});plattypes.forEach(函数(类型){$scope.typesById[type.id]=type;})代码>//我得到一个错误plattypes.forEach不是一个函数