2016-03-08 2 views
1

Я генерирую поля формы динамически, используя ng-repeat. Все работает нормально.angularjs доступ динамически сгенерированный поле поля поля

Но теперь я хочу использовать угловой компонент datepicker, и он основан на директиве. Проблема в том, что это, похоже, работает только для статических атрибутов content/id. В случае динамических я получаю «field.Key» - значение placeholder -, а не сгенерированный идентификатор. (даже если в сгенерированном исходном коде на клиенте правильный идентификатор)

Я также пробовал 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; 
} 
}]; 
+0

Является ли атрибут 'date-time' в html вместо' date-picker'? –

ответ

0

Вы можете попробовать это:

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

я мог бы решить эту проблему с помощью

attrs.id 

вместо

element[0].id 
Смежные вопросы