AngularJS通过其属性将对象分配给ng模型

时间:2016-07-01 02:27:30

标签: javascript angularjs json

我是angularJS的新手

我有代码;所有这都是错的。 我正在创建一个带有选项的json对象。

我有一个名为“match”的json对象,其属性为“lineup”。

当您选中任何播放器的复选框时,您将此播放器添加到阵容属性中,如:

lineup:[{uid:1,pos:0},{uid:2,pos:0}]

我想知道的是如何将select分配给lineup数组中的特定项目。例如,如果我更改播放器1的选择,则阵容将更改为:

lineup:[{uid:1,pos:2},{uid:2,pos:0}]

顺便说一句,我知道我可以使用ng-options作为select指令,但这是我来到这里之前的最后一个代码。

<ul class="list-group" ng-if="match.formation > 0">
<li class="list-group-item" ng-repeat="p in players track by $index">
    <input type="checkbox" ng-model="p.lineup"
           ng-change="setLineup(p,$index)" 
           ng-disabled="match.lineup.length > 10 && (p.lineup == 0 || !p.lineup)" />
    {{p.player}}
    <select ng-model="" class="pull-right">
        <option ng-repeat="e in NotSelectedPosition() track by $index"
                value="{{e.id}}">{{$index+1+'.- '+e.name}}</option>
    </select>
</li>

编辑: 玩家也是一个json对象:

$scope.players = [{uid:1,lineup:false,name:'player1'},
                  {uid:2,lineup:false,name:'player 2'},etc
                 ];

形成只是一个整数值

1 个答案:

答案 0 :(得分:0)

用p.uid绑定它而不是p.lineup因为你正在使用ng-repeat =“p在玩家跟踪$ index”,这意味着你逐个获取数组中的对象。