检测是否在angularjs ng-change事件中选中或取消选中复选框

Laz*_*ale 42 javascript checkbox jquery angularjs angularjs-scope

我想检查复选框上发生单击时是否已选中或取消选中复选框.

这就是我所拥有的:

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

然后在控制器中我有:

$scope.stateChanged = function () {
    alert('test');
}
Run Code Online (Sandbox Code Playgroud)

我可以在检查/取消选中时触发警报但是如何检测复选框的状态?我做了一些研究以找到类似的问题,但我无法得到我需要的东西.

谢谢,Laziale

PSL*_*PSL 66

您可以在ng-change方法中使用bound ng-model(answers[item.questID])值来检测它是否已被检查.

例:-

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

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

  • 是的,这是修复,谢谢,我会在8分钟内选择你的答案. (3认同)