Angular ng-options根据ajax数据添加选择

时间:2015-01-11 14:17:46

标签: angularjs select ng-options

如何根据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>

3 个答案:

答案 0 :(得分:1)

将此行添加到控制器

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

这将选择值为api

的选项

这是demo Fiddle

答案 1 :(得分:1)

您可以使用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>

检查测试演示http://plnkr.co/edit/E1QsrY9XPSZnqXRJqHAJ?p=preview

答案 2 :(得分:1)

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

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