javascript - Angular-ui datepicker 在输入字段中输入时不允许使用 dd.MM.yyyy 格式

标签 javascript angularjs datepicker angular-ui-bootstrap

我认为描述这个问题的最好方法是引导您找到 Plunk:

http://plnkr.co/edit/cRO5UgAyZx5SHJSKrzg7?p=preview

Angular-ui 日期选择器不喜欢我们欧洲人! 首先在日期选择器中选择一个日期。假设今天是 10 月 25 日(至少这一天应该大于 12)。您会看到日期选择格式已设置为 dd.MM.yyyy,这反射(reflect)在输入字段中设置的日期中。 现在更改年份。这不会显示在日期选择器中。 但是,如果您以 MM.dd.yyyy 格式输入日期,则一切正常。

我添加了 angular-locale_de-de.js,它似乎正在工作,从 Oktober 的拼写中可以看出。 那么为什么我不能输入欧洲 [正确且逻辑的日前月] 格式的日期?

最佳答案

您可以使用 Angular Directive(指令)。

var app = angular.module('plunker', ['ui.bootstrap']);
app.directive('formatteddate', function ($filter) {
    return {
        link: function (scope, element, attrs, ctrl) {
            ctrl.$parsers.unshift(function (viewValue) {
                return $filter('date')(viewValue,'dd.MM.yyyy');
            });            
        },
        restrict: 'A',
        require: 'ngModel'
    };
});

而不是在 HTML 中使用它

<input type="text" formatteddate="dt.date" .../>

关于javascript - Angular-ui datepicker 在输入字段中输入时不允许使用 dd.MM.yyyy 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19515477/

相关文章:

javascript - HTML Canvas 在调整大小后更新次数过多

javascript - AngularJS -> 2 位十进制格式和用户限制选择

javascript - 模糊事件发生在日期选择器填充字段之前

jquery - 有人可以解释为什么在 jQuery UI Datepicker 中会出现这样的情况吗?

javascript - MVC.NET 中 Bootstrap 日期选择器的问题

javascript - strongloop中如何调用存储过程

javascript - 如何使用 yield generator 异常测试 chai

angularjs - 未知提供程序 : $modalInstanceProvider <- $modalInstance

javascript - Ajax 和 PHP 表单 - 500(内部服务器错误)

angularjs - Jade 中的 Angular ng-include。