如何将范围限制为clicked元素?

伊瑟伍德

我有一个简单的AngularJS应用,我想用它来通过标签过滤搜索结果。第一步,我将创建一个过滤器链接列表,通过它们可以切换各个标签的可见性。问题在于,单击一个链接会切换列表中所有链接的状态

我意识到这可能需要重构以达到我的最终目标,但是我想先了解一下这里发生的事情。如何将范围限制为单击的元素?

HTML:

<ul ng-app="myApp" ng-controller="myCtrl">
    <li><a href="" ng-click="toggleSelected()">
        <span class="glyphicon" 
          ng-class="{'glyphicon-check': selected, 'glyphicon-unchecked': !selected}">
        </span> Office Productivity
    </a></li>

    <li><a href="" ng-click="toggleSelected()">
        <span class="glyphicon" 
          ng-class="{'glyphicon-check': selected, 'glyphicon-unchecked': !selected}">
        </span> Leadership
    </a></li>

    ...
</ul>

JavaScript:

var myApp = angular.module('myApp', []);

myApp.controller('myCtrl', function ($scope) {

    // toggle the selected state of an element scope, with a default of true
    $scope.toggleSelected = function () {
        $scope.selected = $scope.selected ? !$scope.selected : true;
        return $scope.selected;
    };
});

小提琴

Orhanhenrik

我对您的代码进行了一些重构,取而代之的是从控制器获取清单。然后,我遍历对象,并使用属性(复选框的标题)进行ng-click调用toggleSelected

这是编辑过的jsFiddle:http : //jsfiddle.net/otprj3​​du/3/

我将此添加到范围中:

$scope.checkBoxes = {
    'Office Productivity':0,
    'Leadership':0,
    'Communication Skills':0,
    'HR & Compliance':0,
    'Career Readiness':0,    
};

并像这样渲染列表:

<li ng-repeat="(title,selected) in checkBoxes">
    <a href="" ng-click="toggleSelected(title)">
        <span class="glyphicon" 
          ng-class="{'glyphicon-check': selected, 'glyphicon-unchecked': !selected}">
        </span> 
        {{ title }}
    </a>
</li>

在toggleSelected中,我只是编辑了$scope.checkBoxes

$scope.toggleSelected = function (title) {
  $scope.checkBoxes[title] = $scope.checkBoxes[title] ? !$scope.checkBoxes[title] : 1;
};

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将OCaml整数类型限制为整数范围?

来自分类Dev

如何将EditTextPreference限制为范围1024:65535

来自分类Dev

如何将Java范围限制为子类?

来自分类Dev

如何将嵌套文档的日期直方图聚合限制为特定日期范围?

来自分类Dev

如何将多播的范围明确地限制为仅1跳?

来自分类Dev

如何将功能范围限制为与c ++中定义的文件相同的文件?

来自分类Dev

如何将多播的范围明确地限制为仅1跳?

来自分类Dev

如何将文本限制为SPAN元素的边界,包括重音符号/组合字符?

来自分类Dev

如何将通用数据结构限制为仅允许特定接口的元素?

来自分类Dev

如何将元素的大小限制为模态对话框的大小?

来自分类Dev

如何将通用数据结构限制为仅允许特定接口的元素?

来自分类Dev

如何将std :: vector的容量限制为元素数量

来自分类Dev

ExpandableListView,如何将子范围的最小值限制为1 [无项目时为0]

来自分类Dev

如何将BigDecimal限制为固定分数?

来自分类Dev

如何将PHP特性限制为某些类

来自分类Dev

如何将GMSPlacePicker限制为仅指定的地点类型?

来自分类Dev

如何将Swift协议限制为具体类型?

来自分类Dev

如何将Primefaces inputMask限制为仅数字?

来自分类Dev

如何将输入限制为仅数字

来自分类Dev

如何将Bootstrap列限制为特定列的高度?

来自分类Dev

如何将Vtune Analysis限制为特定功能

来自分类Dev

如何将应用限制为特定设备?

来自分类Dev

如何将输入整数限制为1到9

来自分类Dev

如何将克隆表的行数限制为4?

来自分类Dev

如何将图片大小限制为其父容器

来自分类Dev

如何将jquery脚本限制为容器div的大小

来自分类Dev

如何将输入数量限制为100

来自分类Dev

如何将iOS图表限制为视图大小

来自分类Dev

如何将ClusterRole PolicyRule限制为命名空间?

Related 相关文章

  1. 1

    如何将OCaml整数类型限制为整数范围?

  2. 2

    如何将EditTextPreference限制为范围1024:65535

  3. 3

    如何将Java范围限制为子类?

  4. 4

    如何将嵌套文档的日期直方图聚合限制为特定日期范围?

  5. 5

    如何将多播的范围明确地限制为仅1跳?

  6. 6

    如何将功能范围限制为与c ++中定义的文件相同的文件?

  7. 7

    如何将多播的范围明确地限制为仅1跳?

  8. 8

    如何将文本限制为SPAN元素的边界,包括重音符号/组合字符?

  9. 9

    如何将通用数据结构限制为仅允许特定接口的元素?

  10. 10

    如何将元素的大小限制为模态对话框的大小?

  11. 11

    如何将通用数据结构限制为仅允许特定接口的元素?

  12. 12

    如何将std :: vector的容量限制为元素数量

  13. 13

    ExpandableListView,如何将子范围的最小值限制为1 [无项目时为0]

  14. 14

    如何将BigDecimal限制为固定分数?

  15. 15

    如何将PHP特性限制为某些类

  16. 16

    如何将GMSPlacePicker限制为仅指定的地点类型?

  17. 17

    如何将Swift协议限制为具体类型?

  18. 18

    如何将Primefaces inputMask限制为仅数字?

  19. 19

    如何将输入限制为仅数字

  20. 20

    如何将Bootstrap列限制为特定列的高度?

  21. 21

    如何将Vtune Analysis限制为特定功能

  22. 22

    如何将应用限制为特定设备?

  23. 23

    如何将输入整数限制为1到9

  24. 24

    如何将克隆表的行数限制为4?

  25. 25

    如何将图片大小限制为其父容器

  26. 26

    如何将jquery脚本限制为容器div的大小

  27. 27

    如何将输入数量限制为100

  28. 28

    如何将iOS图表限制为视图大小

  29. 29

    如何将ClusterRole PolicyRule限制为命名空间?

热门标签

归档