angularjs访问动态生成的表单字段id

时间:2016-03-08 12:47:54

标签: javascript angularjs forms angularjs-directive

我使用ng-repeat动态生成表单字段。 一切正常。

但是现在我想使用角度datepicker组件,它基于一个指令。问题是这似乎只适用于静态内容/ id属性。如果是动态的,我会得到" field.Key" - 占位符值 - ,而不是生成的ID。 (即使在客户端上生成的源代码中id是正确的)

我也尝试过ng-id或ng-attr-id,结果相同。 有关如何在指令或其他解决方法中获取此值的任何提示吗?

以下是示例代码:

html
 <input id="{{field.Key}}" name="{{field.Key}}" type="text" date-time 
data-ng-model="field.FieldValue" auto-close="true" value="{{''}}"/>


js
 Module.directive('datePicker', ..., function datePickerDirective(...) {   
    return {     
      require: '?ngModel',
      template: '<div ng-include="template"></div>',
      scope: {
        model: '=datePicker',
        after: '=?',
        before: '=?'
      },
      link: function (scope, element, attrs, ngModel) {
       //generated value should be here, but is field.Key
       var pickerID =  element[0].id;
}
}];

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

$(element).prop('id');

答案 1 :(得分:0)

我可以使用

解决它
attrs.id 

而不是

element[0].id