我可以使用Angularjs指令将datepicker添加到HTML元素吗?

时间:2014-09-09 20:35:09

标签: javascript jquery angularjs datepicker

我试图通过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,因为我的行程列表中有一个开始日期和结束日期数组,因此我需要将此函数绑定到行程数组中每个新创建的日期元素。请指教。

1 个答案:

答案 0 :(得分:1)

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

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