2016-10-26 58 views
0

我正在使用Angular daterangepicker.I使用显示'To'和'From'字段以及'Apply'和'Close'按钮的主题当日历弹出时。Angular DateRangePicker - 在日历中弹出“To”和“From”字段弹出

压延:

enter image description here

我需要只读做出突出显示的字段,使得用户被迫只能从压延选择的日期,然后点击“应用”。可编辑的字段允许接受过去的日期。这是我需要限制的行为

+0

我假设你指的是这样的:https://github.com/fragaria/angular-daterangepicker/?你有没有考虑过使用指令提供的'min'和'max'属性?如果这些不够充分,那么这可能需要您修改指令,或向项目维护人员要求更改......这似乎有点多问这里。 – Claies

+0

@Claies:是的正是我指的是你提供的相同的daterangepicker链接。我确实有最小设置,这会禁用过去的日期。这很好。我的担心是一旦我从日历中选择日期,并在点击“应用”按钮之前,我有机会使用'应用'按钮上方的'收件人'和'发件人'输入字段来操作日期。提供一个过去的日期,daterangepicker接受这个日期,这是我的验证失败的地方。请参考附件截图,以获得更多关于我的问题 – Ketz

+0

hmm的清晰度,这听起来像是我执行中的一个错误;再次,似乎是一个问题,需要与项目维护者,除非你问*如何*修改项目,但问题是有点太广泛,即使回答.... – Claies

回答

0

您可以使用datepicker选项并在选项中设置最短日期,这样您的日历将不允许用户选择过去的日期。

<input type="text" datepicker-options="dateOptions" datepicker-popup="dd-MMMM-yyyy" /> 

在此之后,你需要这样

$scope.dateOptions = { 
minDate: new Date() 
}; 
+0

是的,我确实有'分'财产集。但是我可以在“应用”按钮上方的“收件人”和“发件人”输入字段中操作所选日期范围,如果我在这些输入字段中提供过去日期,并点击“应用”按钮接受过去日期。我需要阻止来自'收件人'和'发件人'字段的这些输入,以便只考虑日历中的日期。请参阅我附加的屏幕截图,以获得更清晰的信息。 – Ketz

+0

http://dotnetlearners.com/blogs/view/195/Disable-past-days-in-Angular-UI-bootstrap-datepicker.aspx 看看这里, –

0

我做了设置选项的“到”和“从”字段只读使用showCalender.daterangepicker事件。因此,一旦显示日历,我将“只读”和“禁用”属性添加到“收件人”和“发件人”输入字段。这样,它们现在不可编辑。

例如: -

$scope.options = { 
        eventHandlers: { 
         'showCalendar.daterangepicker':function(ev,picker) 
         { 
          angular.element("input[name='daterangepicker_end']").prop("readonly",true) 
          angular.element("input[name='daterangepicker_end']").prop("disabled",true) 
          angular.element("input[name='daterangepicker_start']").prop("readonly",true) 
          angular.element("input[name='daterangepicker_start']").prop("disabled",true) 
         } 
        }, 
       };