我使用简单的HTML5日期控件,它与ng-model指令绑定,这是我的代码;
<input type="date" datepicker id="NextServiceDate" name="NextServiceDate" ng-model="product.NextServiceDate" />
我注意到一件事,如果我没有使用ng-model绑定日期控制,那么jquery日期选择器工作正常,但在与ng-model绑定后,它首次设置日期但是当我尝试更新日期时,然后它没有调用日期选择器。
请告诉我如何在Firefox中实现此功能。
我也为它创建了一个指令,但是当我的输入类型是'Date'时它也没有被调用。输入类型“text”可以正常工作。
One23SRCApp.directive('datepicker', function () {
return {
require: 'ngModel',
link: function (scope, el, attr, ngModel) {
$(el).datepicker({
onSelect: function (dateText) {
scope.$apply(function () {
var expression = attr.ngModel + " = " + "'" + dateText + "'";
scope.$apply(expression);
});
}
});
}
};
});
答案 0 :(得分:0)
您不需要这样做:
$(el).datepicker(...);
您可以直接在指令链接函数中获取DOM元素(代码中的参数“el”)。
我不确定你在这做什么:
var value = "";
它只被调用一次而不是在进一步更新之后,这主要是因为当页面首次加载时,angular会触发所有观察者(即调用$digest()
)。