我有一个ng-repeat,我把它放在一个select标签里面。 我希望能够修改不同选择上的选定值。 这就是我所拥有的: html
<div ng-controller="Ctrl">
<div ng-repeat="user in users">
<select ng-model="nbModel" ng-options="numValue.Text for numValue in numValues" ng-change="chooseUser(nbModel, user.id)">
</select>
{{user.name}} - {{user.age}} years
</div>
</div>
js
function Ctrl($scope) {
$scope.numValues = [ {Id : '0',Text : '0'}, {Id : '1',Text : '1'}, {Id : '2',Text : '2' }];
$scope.users = [];
$scope.users.push(new User(1, 'Luke', 23));
$scope.users.push(new User(2, 'Maria', 26));
$scope.users.push(new User(3, 'Mike', 45));
angular.forEach($scope.users, function(equip) {
//TODO to set the default values for each select
});
$scope.chooseUser= function(value, name) {
//some traitement
//TODO to set a wanted value
};
};
function User(id, name, age) {
this.id=id;
this.firstnamename = name;
this.age = age;
}
我无法弄清楚如何手动设置所选选项。 有什么帮助吗?
答案 0 :(得分:3)
你已经到了一半......你需要做的就是将ng-model设置为你想要改变的用户。假设您想使用select更改用户的年龄,它将如下所示:
<div ng-controller="Ctrl">
<div ng-repeat="user in users">
<select ng-model="user.age" ng-options="numValue.Text for numValue in numValues"></select>
{{user.name}} - {{user.age}} years
</div>
</div>