Angular ng-options 添加选择取决于 ajax 数据

Angular ng-options add selected depending on ajax data

我如何根据 ajax 结果强制 ng-options 使用选定的值

这个包含用于循环的可选值

$scope.selectOptions = 
    {
        "api": "API",
        "json": "JSON",
        "xml": "XML",
        "csv": "CSV"
    };

feed 包含返回的 ajax 数据,item.feed_type 是保存的值,应该与 $scope.selectOptions

进行比较
<div ng-repeat="item in feed">
 <select ng-model="formInfo.feed_type" ng-options="k as v for (k,v) in selectOptions" class="form-control">
</div>

将此行添加到控制器,

$scope.formInfo = {feed_type:"api"};

这将 select 值为 api

的选项

这里是 demo Fiddle

您可以这样做,使用 ngInitformInfo.feed_type 值设置为 item.feed_type:

<div ng-repeat="item in feed" ng-init="formInfo.feed_type = item.feed_type">
    <select ng-model="formInfo.feed_type" ng-options="k as v for (k,v) in selectOptions" class="form-control"></select>
</div>

查看测试demo:http://plnkr.co/edit/E1QsrY9XPSZnqXRJqHAJ?p=preview

当您的 AJAX 调用 returns 时,只需将您的模型值设置为返回值即可。

$http.<callWhatever>.then(function (res) {
  $scope.formInfo.feed_type = res.theNewSelectedValue;
});