检测在 Angular.js ng-change 事件中复选框是选中还是未选中
Posted
技术标签:
【中文标题】检测在 Angular.js ng-change 事件中复选框是选中还是未选中【英文标题】:Detect if checkbox is checked or unchecked in Angular.js ng-change event 【发布时间】:2015-02-09 06:52:00 【问题描述】:当单击复选框时,我想检测复选框是否已选中或未选中。
这就是我所拥有的:
<input type="checkbox" ng-model="answers[item.questID]" ng-change="stateChanged()" />
然后在我的控制器中:
$scope.stateChanged = function ()
alert('test');
我可以在选中/取消选中时触发警报,但是如何检测复选框的状态?我做了一些研究以找到类似的问题,但我无法得到我需要的东西。
【问题讨论】:
【参考方案1】:您可以在 ng-change 方法中使用绑定的 ng-model
(answers[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');
【讨论】:
是的,已经解决了,谢谢,我会在 8 分钟内选择你的答案。【参考方案2】:复选框的状态将反映在您绑定到的任何模型上,在本例中为$scope.answers[item.questID]
【讨论】:
以上是关于检测在 Angular.js ng-change 事件中复选框是选中还是未选中的主要内容,如果未能解决你的问题,请参考以下文章
如何检测 angular.js 中的 keydown 或 keypress 事件?
IE 11 没有触发“ng-change”(AngularJS)