我试图通过Angularjs指令添加一个datepicker,同时传递如下所示的元素并且它不起作用,但如果我指定了一个元素id,它可以正常工作:
HTML:
<input id="startdate" type="text" ng-model="i.itinerary.DapartDate" date-from />
app.js:
不工作:
travelApp.directive('dateFrom', function () {
return function (scope, element, attrs) {
element.datepicker({ minDate: currentTime });
element.change(function () {
currentTime = element.val();
});
}
})
WORKING
travelApp.directive('dateFrom', function () {
return function (scope, element, attrs) {
$("startdate").datepicker({ minDate: currentTime });
$("startdate").change(function () {
currentTime = $("#startdate").val();
});
}
})
不幸的是我无法使用控件ID,因为我的行程列表中有一个开始日期和结束日期数组,因此我需要将此函数绑定到行程数组中每个新创建的日期元素。请指教。
答案 0 :(得分:1)
在您的非工作示例中,您尝试在.datepicker
本身上调用element
,您需要先将其设为jQuery对象!
$(element).datepicker({ minDate: currentTime });
$(element).change(function () {
currentTime = element.val();
});