2016-04-22 6 views
0

selectを使用してng-repeatにアイテムを追加していますが、追加されたアイテムは、 ng-repeat$scope。つまり選択されたドロップダウンからプレーヤーを除外します。

どうすれば実現できますか?

<li ng-repeat="player in nextfixtureplayers"> 
    {{ player.name }} 
</li> 

<select id="players" ng-model="selectedPlayer" ng-change="addGamePlayer(selectedPlayer);" 
    ng-options="player.name for player in players | filter:{live:'true'} track by player.$id"> 
    <option value="">Select player</option>  
</select> 

答えて

0

アレイからスプライスするだけです。オプションとして

$scope.addGamePlayer = function(player) { 
    //add to ng-repeat list 
    $scope.nextfixtureplayers.push(player); 

    //first, find the index of the player 
    var i = $scope.players.indexOf(player); 
    $scope.players.splice(i, 1); //then remove from array 
} 
0

、それは両方のコントロール(選択して、NG-リピート)で同じコレクションを使用していますthis

$scope.items = [{name:"name1", selected: false},{name:"name2", selected: false},{name:"name3", selected: false}]; 
    $scope.addItem = function(item){ 
     item.selected = true; 
    } 

を参照してください。

とにかく、さまざまな解決方法がありますが、状況によっては最適な方法があります。

関連する問題