Я пытаюсь связать angularJS с datepicker, который приходит с этого сайта: http://freqdec.github.io/datePicker/ Согласно документации, именно так он создает средство выбора даты на основе идентификатора, это можно сделать только с помощью идентификатора, а не класса, а не jquery obj.
datePickerController.createDatePicker({
formElements:{
"inp1":"%d/%m/%Y"
}
});
Я создаю директиву для этого:
.directive('datepicker', function() {
return {
restrict : 'A', // the directive is restricted to an attribute
require : 'ngModel',
link : function(scope, element, attrs, ngModelCtrl) { // the link() function is used to setup the datepicker
// http://freqdec.github.io/datePicker/
var id = attrs.id;
var dateFormat = "%m/%d/%Y";
var fe = {}
fe[id + ''] = dateFormat;
datePickerController.createDatePicker({
// Associate the text input to a MM/DD/YYYY date format
formElements : fe
});
}
}
})
Когда я отлаживаю, перед вызовом
datePickerController.createDatePicker({
// Associate the text input to a MM/DD/YYYY date format
formElements : fe
});
Я понимаю
$(id)
возвращается пустым.
[]
Затем я понимаю, что элемент html не создан, потому что я вижу
element
что-то вроде
<input class="col-xs-10 noPadding datepicker ng-pristine ng-untouched ng-valid" datepicker="" id="{{'licEffDate'+$index}}" ng-model="license.licEffDate">
идентификатор в элементе еще не был оценен.
но я могу только подготовить этот идентификатор, чтобы передать его в средство выбора даты.
Есть ли способ решить эту проблему?