检测Angular.js ng-change事件中复选框是否已选中

问题描述 投票:43回答:2

我想检测在单击复选框时是否已选中该复选框。

这是我所拥有的:

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

然后在控制器中,我有:

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

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

javascript jquery angularjs checkbox angularjs-scope
2个回答
67
投票

您可以只在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');
   }
}

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.