Angularjs如何根据另一个列表中重复元素的存在有条件地检查复选框

use*_*971 3 javascript checkbox angularjs angularjs-ng-repeat

作为一个使用 cshtml 页面的非常新的 angularjs 用户,在模式窗口的页面加载期间,我试图检查重复复选框是否存在于另一个列表中。下面的代码是概念性的:

<li data-ng-repeat="analysisType in analysisTypes|limitTo:12 | limitTo: -6">
    <input type="checkbox" ng-class="{'checked' : project.analysisTypes.indexOf(analysisType) != -1}" />
    {{analysisType.name}}
</li>
Run Code Online (Sandbox Code Playgroud)

具体来说,如果在project.analysisTypes数组中找到analysisType,我想选中该复选框。我几乎可以肯定这是可能的,但不知道如何实现。

AnalysisTypes 和 Project 都存在于 $scope 中,因此数据可用。

或者也许解决方案是将复选框直接绑定到project.analysisTypes,但我仍然需要能够动态渲染域复选框

Pol*_*hon 5

当条件返回 true 时,您可以使用 ng-checked 指令检查您的输入,或者只是将您的输入与 ng-model 绑定。

尝试类似的事情

<input type="checkbox" ng-checked="project.analysisTypes.indexOf(analysisType) != -1" />
Run Code Online (Sandbox Code Playgroud)