angular:如何防止复选框值更改,直到以后

时间:2017-05-20 11:51:49

标签: javascript angularjs

我想首先说我没有代码可以展示,我很难解释我想做什么。如果这不是您要回答的问题类型,您可以在这里停下来离开。

场景:我有一个用例,我有一个复选框,点击后会显示一个带有保存选项的模态窗口。我关注的是复选框。我需要阻止复选框更改其值或取消选中,直到我对模态弹出窗口执行操作。无论如何,我只需要知道如何防止复选框被检查或更改值直到以后。

如何在JavaScript中完成?同样,没有取消选中复选框,直到稍后时间才会更改值 - 即承诺结算。只需要知道处理复选框。

请不要投票,只是寻找如何向正确方向前进的指导。

1 个答案:

答案 0 :(得分:1)

创建一个复选框并使用ng-change事件来处理取消选中复选框

<input type="checkbox" ng-model = "checkboxValue" ng-change="handleChange()" />

并在控制器中添加此逻辑,

app.controller("MainCtrl", function($scope){
  $scope.checkboxValue = true;

  let canUncheck = false;

  $scope.handleChange = function(){
    if(!canUncheck && !$scope.checkboxValue){
      $scope.checkboxValue = true;
    }
  }


  //later when checkbox can be unchecked
  canUncheck = true;$scope.checkboxValue = false;
})

请参阅此pen