Angularjs angular.js:TypeError:v2.endpointsSelected不是函数

Angularjs angular.js:TypeError:v2.endpointsSelected不是函数,angularjs,Angularjs,我有一个多个复选框,在每个复选框上我需要调用一个函数 HTML: 当我第二次选中复选框时,。。我收到错误消息说v2.endpointsSelected不是一个函数…正在运行的演示 var-app=angular.module('app',[]); 应用程序控制器('Ctrl',函数($scope,$filter){ $scope.data={员工:[ {'no':1,'name':'max','status':'bad'}, {'no':2,'name':'fox','status':'good

我有一个多个复选框,在每个复选框上我需要调用一个函数

HTML:


当我第二次选中复选框时,。。我收到错误消息说v2.endpointsSelected不是一个函数…

正在运行的演示
var-app=angular.module('app',[]);
应用程序控制器('Ctrl',函数($scope,$filter){
$scope.data={员工:[
{'no':1,'name':'max','status':'bad'},
{'no':2,'name':'fox','status':'good'},
{'no':3,'name':'juno','status':'bad'},
{'no':4,'name':'pet','status':'fair'},
{'no':5,'name':'xyz','status':'good'},
{'no':6,'name':'shit','status':'bad'},
{'no':7、'name':'doggy'、'status':'fair'},
{'no':8,'name':'hmmm','status':'bad'}
]}
$scope.selected=[];
$scope.select=功能(项){
如果(项目选择){
$scope.selected.push(项目编号);
}否则{
变量索引=$scope.selected.indexOf(项目编号);
$scope.selected.splice(索引1);
}
};
});

{{x.name}
数组-{{selected}}

工作演示
var-app=angular.module('app',[]);
应用程序控制器('Ctrl',函数($scope,$filter){
$scope.data={员工:[
{'no':1,'name':'max','status':'bad'},
{'no':2,'name':'fox','status':'good'},
{'no':3,'name':'juno','status':'bad'},
{'no':4,'name':'pet','status':'fair'},
{'no':5,'name':'xyz','status':'good'},
{'no':6,'name':'shit','status':'bad'},
{'no':7、'name':'doggy'、'status':'fair'},
{'no':8,'name':'hmmm','status':'bad'}
]}
$scope.selected=[];
$scope.select=功能(项){
如果(项目选择){
$scope.selected.push(项目编号);
}否则{
变量索引=$scope.selected.indexOf(项目编号);
$scope.selected.splice(索引1);
}
};
});

{{x.name}
数组-{{selected}}

我更改了阵列的名称。但现在每次选中复选框时,以前添加的值都会再次添加。@AnujaPatil检查更新的答案!我已经添加了一个关于如何实现它的工作演示。谢谢由于forEach循环,它导致了问题。非常感谢:)请参阅删除整个forEach循环,只需添加
ng change
,就像我的示例中那样,它将轻松处理我更改的数组名称。但现在每次选中复选框时,以前添加的值都会再次添加。@AnujaPatil检查更新的答案!我已经添加了一个关于如何实现它的工作演示。谢谢由于forEach循环,它导致了问题。非常感谢:)请参阅删除整个forEach循环,只需添加
ng change
,就像我的示例中那样,这将很容易处理。只需添加answer和else条件中提到的ng change函数,即可从所选数组中删除未选中的值。只需添加answer和else条件中提到的ng change函数,即可删除未选中的值所选数组中的值。
<thead md-head>
                <tr md-row>
                  <th md-column><span><input type="checkbox"  ng-model="selectedAll" ng-click="checkAll()"/>Select</span></th>
                  <th md-column><span>Endpoint Name</span></th>
                  <th md-column><span>Endpoint Aliase</span></th>
                  <th md-column><span>Endpoint Protocol</span></th>
                </tr>
              </thead>
              <tbody md-body>
                <tr md-row ng-click="" md-select-id="name" ng-repeat="endpoint in endpoints | startFrom:currentPage*pageSize | limitTo:pageSize | filter: search ">
                  <td md-cell><input type="checkbox" ng-model="endpoint.Selected" ng-click="endpointsSelected()"/></td>
                  <td md-cell>{{endpoint.partName}}</td>
                  <td md-cell>{{endpoint.partSignalId}}</td>
                  <td md-cell>{{endpoint.partSignalType}}</td>
                </tr>
             </tbody>
$scope.endpointsSelected = function() {

            angular.forEach($scope.endpoints, function(endpoint){
                  if(endpoint.Selected){
                    alert(endpoint.partName);
                    $scope.endpointsSelected = [];
                    $scope.epName = endpoint.partName;
                    $scope.epId = endpoint.partSignalId;
                    $scope.epType = endpoint.partSignalType;

                    $scope.endpointsSelected.push({'partName': endpoint.partName, 'partSignalType': endpoint.partSignalType, 'partSignalId': endpoint.partSignalId});
                  }
                })

          }