2016-10-26 56 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) 
         } 
        }, 
       };