uib日期选择器弹出日历与空/ NaN如果最初输入空

问题描述:

我使用UI Bootstrap 1.3.2,Bootstrap 3.3.6和Angularjs 1.5.5,但我有一个uib-datepicker弹出的问题。如果对应的输入字段的值为空/未设置,日历显示未定义日期字段(NULL,NAN):uib日期选择器弹出日历与空/ NaN如果最初输入空

enter image description here

码输入字段的:

<input type="text" uib-datepicker-popup="dd.MM.yyyy" datepicker-options="datepickerOptions" ng-model="mydto.teilnahmebis" /> 

的initDate选项被忽略 - 来自控制器的代码:

$scope.datepickerOptions = { 
        minDate : new Date('2010-01-01'), 
        initDate : new Date() 
       }; 

如果输入字段已经有一个值,弹出窗口将工作。但通常情况并非如此。任何想法,如何解决这个问题?谢谢你的回答。

+0

你可以指定你的模型'mydto .teilnahmebis'到指定格式的当前日期。 –

+0

这不起作用,因为在save()操作后传送到数据库的模型不应该有任何值。有时它需要为空。只有日历应该被初始化。 –

+0

是的,它应该是空的,它的工作就是这样。它的工作正常。你可能做错了什么。你检查了你的控制台吗? –

我有同样的问题,你的NG-模型变量与invalid date数据... 检查设置,如果要覆盖默认值,并将其设置为null

+0

是的,的确如此,日期是“无效日期”。我通过编码解决了: if($ scope.mydto.teilnahmebis!= null){scope.mydto.teilnahmebis = moment($ scope.mydto.teilnahmebis,'DD.MM.YYYY').toDate(); } –

+0

提示:如果ng-model不为null并且是一个(有效)日期,那么我必须将交付的String日期转换为javascript日期,否则我会在uib-datepicker-popup中遇到其他问题。如果我将空字符串/日期转换为日期,我当然会得到一个无效日期。所以我需要if-clause。 –

我想你可能做错了什么。 我已经为您创建了一个plunker的代码,并且它的工作原理应该如此。 你可以通过它。 https://plnkr.co/edit/Yz2shW?p=preview