将ng-model与来自json数据的相应ng值进行映射以进行选择

时间:2018-04-10 10:43:47

标签: angularjs angularjs-ng-repeat angularjs-ng-options ui-select2

我有一个像这样的选择元素

<select class="span3" ui-select2="{minimumResultsForSearch: -1}" ng-model="envelope.roofType">
            <option value="">Select..</option>
            <option ng-value="roof.id" ng-repeat="roof in roofList">{{roof.type}}</option>
          </select>

所以基本上我在post post中发送了对应于roofType的id。现在我的get调用中我得到了相同的id。我在我的控制器中这样做。

 $scope.envelope = success.records;

现在在我看来,因为ng-model对应于envelope对象,所以envelope.roofType显示的是id而不是实际的类型。 我的问题是,有没有办法将这些id映射到应该显示的实际文本?

1 个答案:

答案 0 :(得分:0)

如果你想获得与那个id相对应的元素,可以使用一个简单的find函数来完成:

$scope.envelope = roofList.find(function(element) {
  return element.id == success.records ;
});

这将返回与id对应的数组元素,我假设success.records是你要映射的id。