1

我正在使用与 ng-model 指令绑定的简单 HTML5 日期控件,这是我的代码;

<input type="date" datepicker id="NextServiceDate" name="NextServiceDate" ng-model="product.NextServiceDate" />

我注意到一件事,如果我没有将日期控制与 ng-model 绑定,那么 jquery date-picker 工作正常,但是在与 ng-model 绑定后,它会第一次设置日期但是当我尝试更新日期时,那就是不调用日期选择器。

请让我知道如何在 Firefox 中实现此功能。

我还为它创建了一个指令,但是当我的输入类型为“日期”时它也不会被调用。它适用于输入类型“文本”。

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);
                    });
                }
            });
        }
    };
});
4

1 回答 1

0

你不需要这样做:

$(el).datepicker(...);

您可以直接在指令链接函数中获取 DOM 元素(代码中的参数“el”)。

我不确定你在这里做什么:

var value = "";

它只被调用一次而不是在进一步更新后被调用的事实,主要是因为 Angular$digest()在页面首次加载时触发了所有观察者(即调用)。

于 2013-08-22T06:46:24.500 回答