从Angularjs中的Controller获取元素id

时间:2014-05-23 01:17:38

标签: javascript angularjs

是否可以在Angular中添加元素id,

<div class="col-sm-8">
                <select class="form-control input-sm"
                        id="ruleResetType"
                        name="ruleResetType"
                        ng-model="rule.resetType"
                        ng-options="data as data for data in Type"
                        ng-required="true"
                        ng-disabled="isEditable(id)">
                </select>
</div>

我想知道是否可以在isEditable(id)&#34;中添加 id ,我的意思是id应该是element.id?

1 个答案:

答案 0 :(得分:1)

这应该有效,但是像Greg说的那样,你可能不想使用元素id。

app.directive("disableIfIn", function(){
    return {
        restrict: 'A',
        transclude: true,
        scope: {
            disabledElements: '@disableIfIn'
        },
        template: '<div ng-transclude></div>',
        link: function (scope, element, attrs) {
            if(scope.disabledElements.indexOf(attrs.id) === -1){
                element.prop('disabled', false);
            }
        }
    };
});

然后(假设您的作用域上存在disabledElements并且默认情况下禁用了元素)将此属性添加到HTML元素中:

disable-if-in="{{disabledElements}}"