我有一组复杂的复选框,这些复选框填充了来自多维数组的数据,并且有一些特定的事情需要与它们一起发生...我提取了我需要的最小值,所以我将尝试解释
在这个小提琴中
启用第一个复选框,禁用第二个复选框。选中第一个复选框后,第二个复选框将启用。我想要获取的是UNCHECK第二个框,如果在第一个复选框未选中时再次被禁用。
这是我几乎可以使用的代码
<input type="checkbox" ng-model="disablelist" ng-click="checkitems">Check this box to enable the other.. <br><br>
<input type="checkbox" ng-disabled="!disablelist" ng-checked="checkitems">When this checkbox is disabled it also must get unchecked
我刚刚收到intong-js并且有些想法对我来说非常“whaaa ..”但它看起来不错,所以我现在坚持不懈。
谢谢!
答案 0 :(得分:13)
这里的简单解决方案:http://jsfiddle.net/7mKtF/2/
HTML:
<div ng-app="myApp">
<input type="checkbox" ng-model="disablelist">Check this box to enable the other.. <br><br>
<input type="checkbox" ng-disabled="!disablelist" ng-checked="disablelist && 0">When this checkbox is disabled it also must get unchecked
</div>
JS:
var app = angular.module('myApp', []);
基本上,我已更新您的ng-checked
语句以包含disablelist
属性。使用布尔逻辑,如果disablelist
为假,则第二个复选框将评估为false。
编辑:
另外值得注意的是,您目前的方式,ng-click
绑定实际上没有做任何事情。您可能希望使用ng-click
使用参数括号来调用函数变量。
答案 1 :(得分:4)
您可以通过为第二个复选框指定模型,然后在单击第一个复选框时重置模型来执行此操作。
HTML:
<input type="checkbox" ng-model="disablelist" ng-click="otherOption = false" /> Check this box to enable the other..
<input type="checkbox" ng-model="otherOption" ng-disabled="!disablelist" ng-checked="!!otherOption && !disableList" /> When this checkbox is disabled it also must get unckeched