2017-02-23 188 views
0

в моем projetct у меня есть список игроков, я назвал их Atletas, по мнению я сделать что-то вроде этого:Pass проверили объекты на контроллер

<div class="form-group" ng-repeat="atleta in atletas"> 
    <input type="checkbox" ng-model="selected[equipaData.atletas]" name="vehicle" value="Bike">{{atleta.nome}}<br> 
    <input type="hidden" name="escondido" value="selected[atleta._id]"><br> 
</div> 

так evertyme, когда я нажимаю представить, что находится в выше, здесь не упомянуто, я вызываю функцию на контроллере, и когда я делаю это, я хочу передать только все проверенные atletas, весь объект, как я могу это сделать?

+0

Проверьте это [ответ] (http://stackoverflow.com/a/14520103/3543808) –

ответ

0

Присвойте каждому игроку атрибут selected и используйте его в качестве модели ng, затем используйте Array.filter, чтобы получить только выбранных игроков.

angular.module('app', []) 
 
.controller('ctrl', function($scope) { 
 
    $scope.people = [ 
 
    {name: "Name 1", selected: false}, 
 
    {name: "Name 2", selected: false}, 
 
    {name: "Name 3", selected: false}, 
 
    {name: "Name 4", selected: false}, 
 
    {name: "Name 5", selected: false} 
 
    ] 
 
    $scope.sendSelected = function() { 
 
    $scope.selectedPeople = $scope.people.filter(function(person) { return person.selected }) 
 
    } 
 
})
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <script data-require="[email protected]" data-semver="1.6.0" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.js"></script> 
 
    <link rel="stylesheet" href="style.css" /> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body ng-app="app" ng-controller="ctrl"> 
 
    <div ng-repeat="person in people"> 
 
     <input type="checkbox" ng-model="person.selected">{{person.name}} 
 
    </div> 
 
    <button ng-click="sendSelected()">Select stuff</button> 
 
    <div ng-repeat="person in selectedPeople"> 
 
     {{person.name}} 
 
    </div> 
 
    </body> 
 

 
</html>