Angularjs 复选框确认

Angularjs checkbox confirmation

当有人取消选中复选框时,我想确认。以下功能每隔一段时间才有效。当它第一次加载时很好。它会调用确认,如果您取消它,则会选中该复选框。但是,如果您再次单击它,则什么也不会发生。我确定我缺少一些简单的东西:

$scope.check = function(clickedid) { 
  if (document.getElementById(clickedid).checked === true) {
    return false;
  } else {
   var box= confirm("Are you sure you want to do this?");
    if (box===true){   // yes sure
        return true;
    }
    else{   // cancel
       document.getElementById(clickedid).checked = true;
    }
  }
};

这里是 html

<lable>Checkbox
<input type="checkbox" id="check1" ng-model="active" ng-change="check('check1')">
</label>

这是一个jsfiddle

而不是 ng-change 像这样使用 ng-click

<div ng-app="myApp">
    <div ng-controller="Ctrl">
        <label>Checkbox:
            <input type="checkbox" id="check1" ng-model="active" ng-click="check('check1')">
        </label>
    </div>
</div>

Fiddle

因为 ng-change,它与 ng-click

一起工作
<lable>Checkbox
<input type="checkbox" id="check1" ng-model="active" ng-click="check('check1')">
</label>