Angularjs 基于复选框获取数组值

Angularjs 基于复选框获取数组值,angularjs,checkbox,ng-repeat,Angularjs,Checkbox,Ng Repeat,我的情况是有3个复选框(“最初选中”)。因为它是3复选框,所以它将使用ng repeat 3次,并循环划分3次。现在,一旦我取消选中任何复选框,它将显示div 2次。到目前为止, $scope.items = [ {id: 0, title: "apple",selected:true}, {id: 1, title: "orange",selected:true}, {id: 2, title: "grapes",selected:true}, ]; 点击每

我的情况是有3个复选框(“最初选中”)。因为它是3复选框,所以它将使用ng repeat 3次,并循环划分3次。现在,一旦我取消选中任何复选框,它将显示div 2次。到目前为止,

$scope.items = [
    {id: 0, title: "apple",selected:true},
    {id: 1, title: "orange",selected:true},
    {id: 2, title: "grapes",selected:true},     
];
点击每个复选框,我称之为功能测试(“苹果”)

$scope.test=功能(VAL){
$scope.vl=[];

对于(var i=0;我对你的问题不太确定,但希望我的回答能给你一些提示

var-app=angular.module('plunker',[]);
应用程序控制器('MainCtrl',函数($scope){
$scope.name='World';
$scope.items=[{
id:0,
标题:“苹果”,
所选:真
}, {
id:1,
标题:“橙色”,
所选:真
}, {
id:2,
标题:“葡萄”,
所选:真
}];
});

安古拉斯普朗克
文件。写(“”);
你好{{name}}

{{item.title} {{items}json}
当且仅当您希望将选中的项目放入数组时:

html

<div ng-repeat="item in items">
  <input type="checkbox" 
        ng-model="item.selected" ng-click="test(item.title)"> {{item.title}}
</div>

{{item.title}
控制器

$scope.test = function(vals) {
  $scope.vl=[];
  $scope.vlChecked=[];
  for(var i=0;i<$scope.items.length;i++) {
    if($scope.items[i].selected) {
      $scope.vlChecked.push({
        id: $scope.items[i].id,
        title: $scope.items[i].title,
        selected:true                    
      });
    }
  } 

  console.log("vlChecked array");
  console.log(JSON.stringify($scope.vlChecked));

}
$scope.test=功能(VAL){
$scope.vl=[];
$scope.vlChecked=[];

对于(var i=0;i),您确切地想做什么?
<div ng-repeat="item in items">
  <input type="checkbox" 
        ng-model="item.selected" ng-click="test(item.title)"> {{item.title}}
</div>
$scope.test = function(vals) {
  $scope.vl=[];
  $scope.vlChecked=[];
  for(var i=0;i<$scope.items.length;i++) {
    if($scope.items[i].selected) {
      $scope.vlChecked.push({
        id: $scope.items[i].id,
        title: $scope.items[i].title,
        selected:true                    
      });
    }
  } 

  console.log("vlChecked array");
  console.log(JSON.stringify($scope.vlChecked));

}