javascript - AngularJS - 取消选中复选框

标签 javascript jquery angularjs checkbox

我尽可能多地使用 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/

相关文章:

AngularJS:ng-click是 "a good practice"吗?为什么 AngularJS 中没有 ng-{event}?

javascript - jQuery - 使用 html5 数据属性选择构建对象数组

javascript - 透明 src 以便背景显示

jquery - 在字体中设置特定字符的样式?

jquery - "VIDEOJS: WARN: Player "媒体 "is already initialized"当它不是

javascript - 显示填充正文的登录页面

javascript - ExternalInterface.addCallback as3 不起作用

javascript - Masonry JS 忽略 CSS 转换

javascript - 是否有针对这个模糊的几分钟 iOS 日期时间本地错误的修复程序?

javascript - $ionicPopup : e. PreventDefault() 被忽略