我有一个复选框,每个复选框选择我需要调用一个函数。angular.js:TypeError:v2.endpointsSelected不是函数
HTML:
<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>
JS:
$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});
}
})
}
当我选择了第二次的复选框,..我得到的错误信息说v2.endpointsSelected不是一个函数...
只需添加ng-change函数,如answer和else中所述,以从选定数组中删除未选中的值。 –