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不是一个函数