AngularJS:指令中ng-repeat元素的DOM操作

时间:2015-05-15 10:05:01

标签: javascript jquery angularjs angularjs-directive angularjs-ng-repeat

我是angularJS的新手。我正在尝试实现一个简单的功能,其中有许多复选框选项,需要在点击这些复选框选项时调用一个特定功能,类似于

 $(parentDiv).on("click",'input[type="checkbox"]', functionToBeCalled});

我正在尝试使用此部分的指令,其内容类似于

 <div>
    <span ng-repeat="subsection in section"><input type="checkbox"  value="subsection.name"></input> {{subsection.name}} </span>
</div>

目录

app.directive('myDir', function() {
  return {
    restrict: 'AE',
    replace: true,
    templateUrl: 'filter.html',
    link: function(scope, elem, attrs) {
      elem.find("input").bind('click', function() {
        //do some data manipulation
      });
    });
 };
});

当我使用链接功能时,我发现如果我使用elem.find(&#39;输入[type =&#34; checkbox&#34;])给我一个空对象,所以在此之前不会编译它。请告诉我如何解决这种情况。我做了一些研究,发现了在链接之前操作DOM的编译函数,但我无法想到未来的方法。任何帮助将不胜感激。提前谢谢。

2 个答案:

答案 0 :(得分:1)

使用 ngClick ngChange Directive inn angularjs

<div>
    <span ng-repeat="subsection in section">
    <input type="checkbox"  value="subsection.name" ng-click="myFunc(subsection.name)" /> {{filter.name}} </span>
</div>

这里的示例中我使用了ng-click =“myFunc”并在该函数中设置了值

答案 1 :(得分:0)

由于您正在谈论element,因此我们可能会知道您的指令是什么样的,特别是该指令所附加的elem

尽管如此,如果您只需要在单击复选框时调用函数,则可以使用内置角度函数: