AngularUI日期选择器动态日期禁用



我正在使用AngularUI日期选择器。

我有两个互相影响的约会对象。一个是例如"开始日期",另一个是"结束日期"。我不想为两个日期选择器都创建验证,而是想取消具有无效日期的选项(即结束日期早于开始日期,反之亦然)。

有没有办法在选择日期时重新触发日期禁用属性?(重新触发OTHER日期选择器禁用的日期)

我的plunkr:我有一个开始和结束日期,正如你所看到的,当你打开每个日期选择器时,你不能选择比结束日期更高的开始日期,反之亦然。但是,如果我将开始日期更改为11/21,我希望结束日期的日期选择器更新,使11/20不再可单击。有办法做到这一点吗?

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

可以使用min和max属性并结合观察拾取器的值来实现这一点。看看http://plnkr.co/edit/W5pb1boMLOHZFnWkMU8o?p=preview

您真的不需要所有的javascript。这是前面解决方案的一个分支。

http://plnkr.co/edit/kXkzCeBTlxOpOyZKfTiN

如果你有两个输入,比如

         <input id="getTSStartDateInput" ng-model="StartDate" type="text" class="form-control ng-pristine ng-valid ng-valid-required" datepicker-popup="dd MMM yyyy" required="required" ng-required="true"/>  
           <input id="getTSEndDateInput" ng-model="EndDate" min="StartDate" type="text" class="form-control ng-pristine ng-valid ng-valid-required" datepicker-popup="dd MMM yyyy" required="required" ng-required="true"/>

它将自动工作并禁用开始日期之前的任何结束日期注意ng model="EndDate"min="StartDate",这就是您所需要的。

我使用了一个简单的解决方案,在startDate和endDate中添加ng更改。如果startDate发生更改,则将endDate的minDate设置为startDate,endDate也是如此。希望对有所帮助

最新更新