将 ng-model 与来自 json 数据的相应 ng-value 映射为 select

Mapping ng-model with corresponding ng-value from json data for select

我有一个这样的 select 元素

<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 call.Now 中发送对应于 roofType 的 ID 在我的 get 调用中我得到相同的 ID back.I 在我的控制器中执行此操作。

 $scope.envelope = success.records;

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

如果你想得到那个id对应的元素,你可以用一个简单的find函数来实现:

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

这将 return 对应于 id 的数组元素,我假设 success.records 是您要映射的 id。