Angularjs使用id获取属性

时间:2015-10-22 19:49:35

标签: javascript angularjs

我有一张表 Plates

{
    "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"
            }

我想要的是当我选择A盘时,我也可以获得plate_type_id,但我没有看到id而是想要检索plate_type的名称。在这种情况下,假数据"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_type_id它会正常工作,并在这种情况下返回1,但是我可以获取name属性而不是id或使用{{ 1}}转到id

我尝试过这样的事情

name但它不起作用。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

我看到至少有两个选项可以通过id获取牌名:

  • "plateTypes"数组转换为id属性索引的对象。然后在模板中你可以得到这样的名字:

    plateTypes[selectedPlate.item.plate_type_id].name
    
  • 编写一个实用程序函数,在id的情况下,在plateTypes中搜索。然后在模板中你会得到这样的名字:

    getPlateType(selectedPlate.item.plate_type_id).name