我的应用程序中有以下HTML。
<p class="input-group">
<input ng-model="myDate" datepicker-popup="MM/dd/yyyy"
is-open="isopen" />
<span style="cursor:pointer" ng-click="opendate($event)" class="input-group-addon input-sm"><i class="glyphicon glyphicon-calendar"></i></span>
</p>
我想在用户以4.3.2015
或4.3.15
格式输入日期时填充ngModel,但目前我将ngModel作为未定义。
我如何告诉datepicker也接受其他日期格式?
请检查此plunkr http://plnkr.co/edit/t1f9AkHeKzvyPTQNzvxf?p=preview,这适用于Chrome,但不适用于IE。您可以在chrome中键入4.4.15并且它可以工作,同样在IE中不起作用
答案 0 :(得分:1)
如果我理解正确,您希望允许用户决定他们如何输入日期格式?
据我所知,日期格式需要事先定义,并且不能在用户填写时“检测”。但是,您可以在控制器中创建一个具有可接受日期格式的数组:
// Accepted date formats.
$scope.formats = ['MM/dd/yyyy', 'yyyy/MM/dd', 'dd.MM.yyyy', 'shortDate'];
// Default date format.
$scope.format = $scope.formats[0];
将HTML输入字段中的datepicker-popup属性更改为datepicker-popup="{{format}}"
。
用户可以在视图中有一个下拉列表(HTML select)菜单,用户可以在其中选择首选日期格式,这将更改$scope.format
的值。 datepicker将相应更改。
答案 1 :(得分:1)
我在DateParser上使用了 alt-input-formats 来提供替代格式
alt-input-formats (Default: []) - A list of alternate formats acceptable for manual entry.