Angular.js如何根据另一个列表中是否存在重复元素来有条件地检查复选框

用户3681971

作为具有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>

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

$ scope上同时存在analysisTypes和project,因此可以使用数据。

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

Chickenrice

'indexOf'不能以这种方式(简单演示用于查找数组的第一个匹配对象您应该通过搜索对象的特定且唯一的属性(例如id)来找到它。

这是我的示例:

的HTML

<div ng-controller="myCtrl">
    <ul>
        <li ng-repeat="analysisType in analysisTypes">
            <input type="checkbox" ng-class="{'checked':isExist(analysisType.id)!=-1}" ng-checked="isExist(analysisType.id)!=-1"/>
            {{analysisType.name}}
        </li>
    </ul>
</div>

JS

angular.module("myApp",[])
.controller("myCtrl",function($scope){
    $scope.analysisTypes = [{id:1,name:"typeA"},{id:2,name:"typeB"},{id:3,name:"typeC"}];

    $scope.project = {analysisTypes:[{id:2,name:"typeB"}]};

    $scope.isExist = function(id){
        return $scope.project.analysisTypes.map(function(type){return type.id;}).indexOf(id);
    }
});

这是jsFiddle DEMO

请注意:Array.prototype.mapArray.prototype.indexOf仅可在IE9 +中使用。如果您有浏览器支持问题,则需要添加一些polyfill。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从Angular JS中的ng-repeat循环中检查第一个复选框?

来自分类Dev

当我们在Angular中选择另一个复选框时,如何自动取消选择一个复选框?

来自分类Dev

有条件地在Angular中填充选择列表

来自分类Dev

如何设置基于一个数组中的值选中的复选框并将值添加到另一个数组(如果选中),否则使用angular js删除?

来自分类Dev

如何检查复选框是否已经存在于数组ID的angular中:

来自分类Dev

如何有条件地向 Angular 6 中的 HTML 元素添加属性

来自分类Dev

如何检查Angular JS中的复选框是否已选中?

来自分类Dev

如何有条件地仅对angular中的特定字段有条件地添加mydatepicker disablescince prop

来自分类Dev

是否可以使用Angular2有条件地显示元素属性?

来自分类Dev

angular.js ng-repeat-检查条件是否为真,然后使用另一个集合

来自分类常见问题

检查ANGULAR 10中是否已选中复选框

来自分类Dev

检查ANGULAR 10中是否已选中复选框

来自分类Dev

angular 5 和 firebase/angularfire,使用键检查键是否存在于另一个表中

来自分类Dev

如何在Angular中有条件地渲染?

来自分类Dev

如何有条件地渲染 Angular 组件

来自分类Dev

有条件地更改Angular中按钮的链接

来自分类Dev

在Angular中,如何动态地将某些单词包装在另一个html元素中?

来自分类Dev

Angular 2 - 复选框列表 - 如何检查复选框的状态

来自分类Dev

如何使用angular js有条件地设置特定的类属性?

来自分类Dev

如何过滤从Angular中的复选框值排序的列表?

来自分类Dev

根据Angular中的另一个选择显示选项列表

来自分类Dev

如何有条件地将属性插入到 Angular 模板中

来自分类Dev

如何使用angular js根据数据库中的值设置复选框的选中属性

来自分类Dev

如何有条件地将一个列表中的元组附加到另一个元组列表中?

来自分类Dev

angular js中的复选框功能

来自分类Dev

根据另一个键的值有条件地打印值

来自分类Dev

根据ReactJS中的变量有条件地设置复选框状态

来自分类Dev

有条件地检查angularjs中的复选框

来自分类Dev

如何根据另一个变量的值有条件地更改变量的值?

Related 相关文章

  1. 1

    如何从Angular JS中的ng-repeat循环中检查第一个复选框?

  2. 2

    当我们在Angular中选择另一个复选框时,如何自动取消选择一个复选框?

  3. 3

    有条件地在Angular中填充选择列表

  4. 4

    如何设置基于一个数组中的值选中的复选框并将值添加到另一个数组(如果选中),否则使用angular js删除?

  5. 5

    如何检查复选框是否已经存在于数组ID的angular中:

  6. 6

    如何有条件地向 Angular 6 中的 HTML 元素添加属性

  7. 7

    如何检查Angular JS中的复选框是否已选中?

  8. 8

    如何有条件地仅对angular中的特定字段有条件地添加mydatepicker disablescince prop

  9. 9

    是否可以使用Angular2有条件地显示元素属性?

  10. 10

    angular.js ng-repeat-检查条件是否为真,然后使用另一个集合

  11. 11

    检查ANGULAR 10中是否已选中复选框

  12. 12

    检查ANGULAR 10中是否已选中复选框

  13. 13

    angular 5 和 firebase/angularfire,使用键检查键是否存在于另一个表中

  14. 14

    如何在Angular中有条件地渲染?

  15. 15

    如何有条件地渲染 Angular 组件

  16. 16

    有条件地更改Angular中按钮的链接

  17. 17

    在Angular中,如何动态地将某些单词包装在另一个html元素中?

  18. 18

    Angular 2 - 复选框列表 - 如何检查复选框的状态

  19. 19

    如何使用angular js有条件地设置特定的类属性?

  20. 20

    如何过滤从Angular中的复选框值排序的列表?

  21. 21

    根据Angular中的另一个选择显示选项列表

  22. 22

    如何有条件地将属性插入到 Angular 模板中

  23. 23

    如何使用angular js根据数据库中的值设置复选框的选中属性

  24. 24

    如何有条件地将一个列表中的元组附加到另一个元组列表中?

  25. 25

    angular js中的复选框功能

  26. 26

    根据另一个键的值有条件地打印值

  27. 27

    根据ReactJS中的变量有条件地设置复选框状态

  28. 28

    有条件地检查angularjs中的复选框

  29. 29

    如何根据另一个变量的值有条件地更改变量的值?

热门标签

归档