动态地如何使用ng-click在angularjs控制器中进行复选框检查/取消选中

时间:2015-02-26 03:22:29

标签: javascript angularjs checkbox

我是Angular JS的新手。当用户选中/取消选中复选框时,我使用ng-click调用控制器中的函数。我将$ event传递给控制器​​中的函数。使用$ event,我可以在控制器函数中获取srcElement。现在,我想根据特定条件将上一个检查/取消选中值设置为复选框。

$scope.isAccessChanged = function(event){
        if (some condition) {
            var elem = angular.element(event.srcElement);  
            /** here how to set the elem value back to whatever it was before.*/
        }
    };

2 个答案:

答案 0 :(得分:1)

假设你有像

这样的复选框
<input ng-model="form.isSelected" type="checkbox">

您需要做的就是:

$scope.form.isSelected = !$scope.form.isSelected;

答案 1 :(得分:-1)

避免DOM操作并尽可能以角度限制jQuery的使用。

我建议仅在指令中使用jQuery,以减少它的可用选项。

试试这个:


<input type="checkbox" ng-model="foShizzle" ng-click="isAccessChanged()"/>

$scope.isAccessChanged = function(event){
    if(some condition){
        $scope.foShizzle = !$scope.foShizzle; // This will reverse the user's decision
    }
}