3

私は選択タグの中に入れたng-repeatを持っています。異なる選択で選択した値を変更できるようにしたい。ここに私が持っているものがあります: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>
        &nbsp;&nbsp;{{user.name}}&nbsp;&nbsp;-&nbsp;{{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;
}

選択したオプションを手動で設定する方法がわかりませんでした。助けはありますか?

4

1 に答える 1

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>
        &nbsp;&nbsp;{{user.name}}&nbsp;&nbsp;-&nbsp;{{user.age}} years
    </div>
</div>
于 2013-02-21T17:51:19.033 に答える