我遇到了这个问题:我在ng-repeat中创建了一个选择,每个选择的ng模型都是动态生成的。
我需要为这些选择设置默认值,但我不知道我该怎么做
HTML
<div ng-controller="ricercaAttivita">
<div class="accordion-group" ng-repeat="masterAttribute in masterAttributes">
<select class="trip dark" ng-change = "search(1, true, true)" ng-model="masterAttribute.Id" ng-options="attr.Id as attr.Value for attr in masterAttribute.Values">
<option value="">Tutte</option>
</select>
</div>
</div>
APP.JS
var tantoSvagoApp = angular.module('tantoSvagoApp');
tantoSvagoApp.controller("ricercaAttivita", function ($scope) {
$scope.masterAttributes = {"id" : "11", nome" : "MARCHE", "values" :
[{ "id": "114", "nome": "ANCONA" }, { "id": "116", "nome": "ASCOLI PICENO" }]
},
{"id" : "12", nome" : "LOMBARDIA", "values" :
[{ "id": "120", "nome": "MILANO" }, { "id": "121", "nome": "BERGAMO" }]
};
});
我的选择的ng模型是“masterAttribute.Id”,我需要循环每个生成的选择,并且在某些条件下,设置选择的特定默认选项。
像
这样的东西$ scope.masterAttribute.Id = value;
我怎么能这样做? 有人可以帮帮我吗?
答案 0 :(得分:0)
$ scope.masterAttributes应该是一个数组[],
$scope.masterAttributes=[{
"id": "11",
nome " : "
MARCHE ", "
values " : [{
"id": "114",
"nome": "ANCONA"
}, {
"id": "116",
"nome": "ASCOLI PICENO"
}]
},
{
"id": "12",
nome " : "
LOMBARDIA ", "
values " : [{
"id": "120",
"nome": "MILANO"
}, {
"id": "121",
"nome": "BERGAMO"
}]
最后在select is,
中设置默认值$scope.masterAttribute = $scope.masterAttributes[0].values[0];
答案 1 :(得分:0)
只需将所选值对象设置为$scope.masterAttribute
即可。在您的控制器中添加
$scope.masterAttribute = masterAttribute.Values[0];
希望这会有所帮助。