webentwicklung-frage-antwort-db.com.de

Wie bekomme ich einen Checkboxwert in anglejs?

Ich habe ein Kontrollkästchen 10 (oder n) in meiner Ansicht. Nun möchte ich an dieser Stelle Folgendes fragen:. Was ist der effizienteste oder einfachste Weg, um zu prüfen, ob das Kontrollkästchen aktiviert ist und ob das Kontrollkästchen aktiviert ist?.

<ul>
  <li ng-repeat="album in albums">
   <input type="checkbox" ng-model="folder.Selected" value={{album.name}} />
   </li>
  </ul>

Ich habe ng-controller (getAlbumsCtrl) , indem ich ein Array habe, in dem ich alle markierten Boxalben in albumNameArray

12
Kgn-web

Sie können das Array durchlaufen, um herauszufinden, welches ausgewählt ist, und Push in das Namensarray.

<ul>
  <li ng-repeat="album in albums">
    <input type="checkbox" ng-model="album.selected" value={{album.name}} />
  </li>
</ul>

$scope.save = function(){
  $scope.albumNameArray = [];
  angular.forEach($scope.albums, function(album){
    if (!!album.selected) $scope.albumNameArray.Push(album.name);
  })
}

// alternatively you can use Array.prototype.filter on newer browsers (IE 9+)
$scope.save = function(){
  $scope.albumNameArray = $scope.albums.filter(function(album){
    return album.selected;
  });
}

jsbin

21
Icycool

Schauen Sie sich diese Geige an, ich habe das Objekt verwendet, dessen Schlüssel der Albumname ist 

<input type="checkbox" ng-model="folder[album.name]" value={{album.name}}/>

regler:

function ctrl($scope){
$scope.albums = [{name:'a1'},{name:'a2'},{name:'a3'}];
$scope.folder = {};
$scope.albumNameArray = [];
$scope.getAllSelected = function(){          
    angular.forEach($scope.folder,function(key,value){
        if(key)
            $scope.albumNameArray.Push(value)
    });
}}
1
Praveen

Sie können hier einfach den Winkelfilter verwenden. Ihr ng-model sollte album.Selected anstelle von folder.Selected sein.

Html

{{(albums | filter : { Selected: true }: true)}}

Controller

$scope.albumNameArray = $filter('filter')($scope.albums, { Selected: true }, true);

Vergessen Sie nicht, $filter in Ihrem .__ hinzuzufügen. Regler

1
Pankaj Parkar

Wenn Sie den Wert ausdrucken möchten. 
Sie können wie folgt verwenden:

input type="checkbox" ng-model="checkboxModel.value2" ng-true-value="'YES'" ng-false-value="'NO'" 
0
Luckieee