2017-02-10 76 views

回答

1

似乎沒有一種方法只設置時間,並且他們沒有在文檔中提及它,但是如果可以使用setStartDate和setEndDate方法進行設置。

這些方法將接受片刻對象,如果您只在調用這些方法時設置日期值,則時間將默認爲上午12:00。在傳遞對象之前在時刻對象上設置時間將更新daterangepicker中的時間。他們的文檔沒有提及它,但是如果您使用timePicker,則選擇器將更新時間以及日期。當初始化startDate和endDate值的選擇器時,這也會起作用,並限制minDate和maxDate的時間。

請注意,如果您在沒有定義時間的情況下設置了maxDate,則它將默認爲上午12:00,如果您使用timePicker,則會導致問題。例如,如果我設置了04/04/2017的最大日期,那麼選擇器會讓我選擇該日期,但它不會讓我在04/04/2017過去的中午12:00選擇一個時間。爲了解決這個問題,我使用了時間庫來設置我想設置maxDate的時刻對象上的.hour(23)和.minutes(59)。這允許用戶在04/04/2017選擇任何小時或分鐘。時刻設定時間的文檔可以在這裏找到:https://momentjs.com/docs/#/get-set/

這不完全是你問,但我會提供解決方案,我用來解決類似的問題,以改變價值觀,這裏沒有方法在這種情況下任何人都需要它。我需要動態更改maxDate,但沒有內置的方法來更改它,只有在初始化選擇器時設置它的選項。爲了解決此問題,我刪除了日期範圍選擇器,並使用更新後的選項將其重新初始化爲相同的輸入。如果您需要刪除選取器,則使用:

$('#myInput').data('daterangepicker').remove();