我尽可能多地使用 angularjs - 我正在编辑一些遗留系统,但我无法承担太多更改。因此,基本上,我需要实现一个取消选中页面中每个复选框的函数。最简单的解决方案 - 无需对现有系统进行太多更改 - 是使用 Angular.element 。现在我知道,这是一个非常糟糕的解决方案,但我需要让它发挥作用。
目前,它可以工作(至少在视觉上),因为每个复选框都未被选中,但是,在另一次单击时,该复选框不起作用 - 需要按两次,然后才能再次激活。
这是一个演示,展示了情况以及我如何实现部分解决方案:http://jsbin.com/xicubegira/1/edit?html,js,output 使用案例如下。
- 点击复选框 - 计数器将增加到 1,复选框将变为选中状态
- 再次点击复选框 - 计数器将增加到 2,复选框将变为取消选中状态
- 点击复选框 - 计数器将增加到 3,复选框将变为选中状态
- 按“取消选中我”按钮 - 计数器不会增加,复选框将变为取消选中状态(这是正常的)
- 再次单击复选框 - 复选框将变为“已选中”,但计数器不会增加!
那么,如何取消选中页面中的所有复选框并仍然保持初始功能?我猜这里的问题是,复选框的范围没有任何变化,因此 ng-change
不会被触发。
感谢您的帮助!
最佳答案
这里的问题是您没有更改模型,因此无法调用 ng-change,因为数据没有更改。
你不能对你的模型做一个简单的设置为 false 吗:
$scope.uncheck = function(){
$scope.confirmed = false;
};
关于javascript - AngularJS - 取消选中复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32096474/