10

我有一组复杂的复选框,其中填充了来自多维数组的数据,并且有一些特定的事情需要发生在它们身上......我提取了我需要的最小值,所以我将尝试解释

在这个小提琴

http://jsfiddle.net/EVZUV/

第一个复选框被启用,第二个被禁用。当第一个复选框被选中时,第二个复选框被启用。我想要得到的是取消选中第二个框,如果它在第一个复选框未选中时再次被禁用。

这是我几乎可以使用的代码

<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,有些想法对我来说很“哇……”,但它看起来不错,所以我现在坚持。

谢谢!!

4

2 回答 2

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假。

编辑:

还值得注意的是,您目前拥有它的方式,您的ng-click绑定实际上并没有做任何事情。您可能希望ng-click使用参数括号来调用函数变量。

于 2013-11-13T22:57:08.547 回答
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

检查这个 jsFiddle 中的结果

于 2013-11-13T22:56:15.610 回答