在angularjs ng-change事件中检测checkbox是否被选中

我想检测checkbox是否已经选中或未选中checkbox。

这是我的:

<input type="checkbox" ng-model="answers[item.questID]" ng-change="stateChanged()" /> 

然后在控制器中我有:

 $scope.stateChanged = function () { alert('test'); } 

我可以在检查/取消选中时发出警报,但是如何检测checkbox的状态? 我做了一些研究,find一个类似的问题,但是我没有得到我所需要的。

谢谢,Laziale

您可以在ng-change方法中使用绑定的ng-modelanswers[item.questID] )值本身来检测它是否已被检查。

例:-

 <input type="checkbox" ng-model="answers[item.questID]" ng-change="stateChanged(item.questID)" /> <!-- Pass the specific id --> 

 $scope.stateChanged = function (qId) { if($scope.answers[qId]){ //If it is checked alert('test'); } } 

checkbox的状态将反映在您绑定的任何模型上,在这种情况下, $scope.answers[item.questID]