2017-02-23 2 views
0

in meinem projetct zum Controller habe ich eine Liste von Spielern, ich sie atletas genannt, die nach Ansicht i so etwas tun:Pass Objekte geprüft

<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> 

so evertyme, wenn ich das Absenden klicken, dass in der ist Form oben, habe ich hier nicht erwähnt, ich rufe eine Funktion auf dem Controller, und wenn ich das tue, möchte ich nur alle Atleten übergeben, die überprüft werden, das gesamte Objekt, wie kann ich das tun?

+0

prüfen diese [Antwort] (http://stackoverflow.com/a/14520103/3543808) –

Antwort

0

Haben Sie ein Attribut selected auf jedem Spieler und verwenden Sie das als ng-Modell, dann verwenden Sie Array.filter, um nur die ausgewählten Spieler zu bekommen.

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>