取消选中复选框

我尽可能使用angularjs - 我正在编辑一些遗留系统,我无法承受太多变化。 所以,基本上,我需要实现一个不检查页面中每个复选框的函数。 最简单的解决方案 - 不改变现有系统太多 - 是使用angular.element 。 现在我知道,这是一个非常糟糕的解决方案,但我需要使其工作。

目前,它至少可以工作(因为每个复选框都会被取消选中),但是在另一次点击复选框不起作用 - 它需要按两次,才能再次激活。

下面是一个演示如何实现以及如何实现部分解决方案的示例:http://jsbin.com/xicubegira/1/edit?html,js,output用例如下。

  • 点击复选框 - 计数器将增加到1,复选框将被选中
  • 再次点击复选框 - 计数器将增加到2,复选框将被取消选中
  • 点击复选框 - 计数器将增加到3,复选框将被选中
  • 按'取消选中'按钮 - 计数器不会增加,复选框将变为未选中(这是OK)
  • 再次点击复选框 - 复选框变为'已选中',但计数器不增加!
  • 那么,如何取消选中页面中的所有复选框并仍然保持初始功能? 我猜这里的问题是,复选框的范围没有任何变化,所以ng-change不会被解雇。

    谢谢你的帮助!


    这里你的问题是你没有改变你的模型,所以无法调用ng-change,因为数据没有改变。
    难道你不能简单地将你的模型设置为false:

    $scope.uncheck = function(){        
        $scope.confirmed = false;
    };
    
    链接地址: http://www.djcxy.com/p/71029.html

    上一篇: unchecking checkbox

    下一篇: Uncheck a checkbox in dat.gui