我可以使用Angularjs指令将日期选择器添加到HTML元素中吗

Can I add datepicker to HTML element with Angularjs directive?

本文关键字:添加 HTML 元素 选择器 日期 可以使 Angularjs 指令 我可以      更新时间:2023-09-26

我试图通过Angularjs指令添加一个日期选择器,同时传递如下所示的元素,但它不起作用,但如果我指定了一个元素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();
        });
    }
})

工作

travelApp.directive('dateFrom', function () {
    return function (scope, element, attrs) {
        $("startdate").datepicker({ minDate: currentTime });
        $("startdate").change(function () {
            currentTime = $("#startdate").val();
        });
    }
})

不幸的是,我不能使用控件ID,因为我的行程列表中有一个开始和结束日期数组,所以我需要将此函数绑定到行程数组中每个新创建的日期元素。请告知。

在您的非工作示例中,您试图在element本身上调用.datepicker,您需要首先将其设置为jQuery对象!

$(element).datepicker({ minDate: currentTime });
$(element).change(function () {
    currentTime = element.val();
});