daterangepicker daterangepicker 是一款日期時間控件,可選擇「年,月,日,時,分,秒」,可選擇單面板,也可選擇雙面板(起止時間)。git
單面板示例:daterangepicker 單面板 codepen 在線示例github
雙面板示例:daterangepicker 雙面板 codepen 在線示例數組
1、daterangepicker 的配置項以下:app
如(格式 MM/DD/YY) "startDate": "12/26/2018", "endDate": "01/04/2018"ssh
如(格式 MM/DD/YY) "minDate": "12/12/2018", "maxDate": "12/28/2018"ide
最先日期(2018年12月12日)之前的日期,和最新日期(2018年12月28日)之後的日期將不能被選擇。函數
如 "maxSpan": { "days": 7 } 時:將跨度七天 spa
如:"showDropdowns": true 時,年和月能夠經過下來選擇,不然只能左右切換,一月一月的增長或減小3d
設置爲 true 就能夠選擇時間,設置爲 true 時,timePickerIncrement、timePicker24Hour、timePickerSeconds 纔有效code
如:"timePicker": true, "timePicker24Hour": true, "timePickerIncrement": 10, "timePickerSeconds": true
如:"buttonClasses": "btn", "applyButtonClasses": "btn-apply", "cancelClass": "btn-cancel"
cancelBtn默認添加到關閉按鈕,applyBtn默認添加到應用按鈕
如:
"locale": { "format": "YYYY-MM-DD hh:mm:ss", "applyLabel": "肯定", "cancelLabel": "取消", "daysOfWeek": ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], "monthNames": ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], "firstDay": 1 }
格式爲 "YYYY-MM-DD hh:mm:ss",第一天是週一,再也不是默認的週日。
單個日期選擇仍是起止日期的雙面板選擇。
2、daterangepicker 的方法以下:
如:
$("#dateTime").data("daterangepicker").setStartDate("2019-01-01 00:00:00");
$("#dateTime").data("daterangepicker").setEndDate("2019-12-31 23:59:59");
方法必定要寫在配置項的後面,將得出 setStartDate屬性未定義 Uncaught TypeError: Cannot read property 'setStartDate' of undefined
在初始化時設置時間輸入域的值和 setStartDate 或 setEndDate 的值一致,以單面板爲例:
<input type="text" id="dateTime" class="form-control" placeholder="請輸入或選擇時間(YYYY-MM-DD hh:mm:ss)">
$("#dateTime").val("2019-01-01 00:00:00"); $("#dateTime").daterangepicker({ timePicker: true, timePicker24Hour: true, timePickerSeconds: true, linkedCalendars: false, autoUpdateInput: false, showDropdowns: true, singleDatePicker: true, locale: { format: "YYYY-MM-DD hh:mm:ss", applyLabel: "肯定", cancelLabel: "取消", daysOfWeek: ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], firstDay: 1 } }).on("apply.daterangepicker", function(ev, picker) { picker.element.val(dateTimeFormat(picker.startDate._d).string); }); $("#dateTime").data("daterangepicker").setStartDate("2019-01-01 00:00:00");
3、daterangepicker 的事件以下:
show.daterangepicker:顯示選擇器時觸發
hide.daterangepicker:隱藏選擇器時觸發
showCalendar.daterangepicker:當日歷顯示時觸發
hideCalendar.daterangepicker:隱藏日曆時觸發
apply.daterangepicker:單擊apply按鈕或單擊預約義範圍時觸發
cancel.daterangepicker:單擊cancel按鈕時觸發
如:
$('#dateTime').daterangepicker({ timePicker: true, timePicker24Hour: true, timePickerSeconds: true, linkedCalendars: false, autoUpdateInput: false, showDropdowns: true, locale: { format: "YYYY-MM-DD hh:mm:ss", applyLabel: "肯定", cancelLabel: "取消", daysOfWeek: ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], firstDay: 1 } }).on('apply.daterangepicker', function(ev, picker) { console.log(picker.startDate._d); picker.element.val(dateTimeFormat(picker.startDate._d).string); });