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

Dynamically how to make checkbox check/uncheck in angularjs controller using ng-click

本文关键字:取消 复选框 动态 ng-click angularjs 控制器 何使用      更新时间:2024-06-15

我是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.*/
        }
    };

假设您有类似的复选框

<input ng-model="form.isSelected" type="checkbox">

你所需要做的就是:

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

避免DOM操作,并尽可能限制jQuery在angular中的使用。

我建议只在指令中使用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
    }
}