網站中不免會用到日期選擇插件,常見的有jquery的,也有bootstrap的.單日曆的就不說了,實例化都比較簡單.今天給你們介紹一下bootstrap的雙日曆插件.javascript
http://www.jq22.com/jquery-info1087 css
這是雙日曆插件下載地址,demo裏面有介紹須要引入那些js和css文件.html
1.直接進入到js實例化部分:java
function timePicker(){ var option={ locale:{ fromLabel: '開始日期', toLabel: '結束日期' }, maxDate:new Date(new Date().getFullYear()+'-'+(new Date().getMonth()+1)+'-'+(new Date().getDate()+1)),//雙日曆容許最大的結束日期 opens:'left',//日曆與輸入框的對其方式,當前爲右對齊 //maxDate:moment(),//設置成moment(),有一個bug,那就是不能選擇今天(好比2016-7-21) //dateLimit:{//起止時間容許的範圍 // days:30 //}, showDropdowns : true//這個屬性能夠實現下拉選擇年份 }; $('#calenderAccount').daterangepicker(option); setTimeout(function () { 17 $('#calenderImg').click(function (e) { if(e.stopPropagation()){ e.stopPropagation(); }else if(e.cancelBubble){ e.cancelBubble=true } $('#calenderAccount').trigger('click') }); $('.clearInputTime').click(function () {//實現清空的功能 $('#calenderAccount').val(''); $('#startTime').val(''); $('#endTime').val(''); $('.cancelBtn ').trigger('click') }) },400); }
2.因爲配置參數裏面並無清空按鈕,可是項目爲了實現這一個功能,因此本身在源碼裏面添加了一行,增長了一個清空按鈕:jquery
var DRPTemplate = '<div class="daterangepicker dropdown-menu">' + '<div class="ranges">' + '<div class="range_inputs">' + '<div class="daterangepicker_start_input">' + '<label for="daterangepicker_start"></label>' + '<input class="input-mini" type="text" name="daterangepicker_start" value="" disabled="disabled" />' + '</div>' + '<div class="daterangepicker_end_input">' + '<label for="daterangepicker_end"></label>' + '<input class="input-mini" type="text" name="daterangepicker_end" value="" disabled="disabled" />' + '</div>' + '<button class="applyBtn" disabled="disabled"></button> ' + '<button class="cancelBtn btnDone"></button>' + '<button class="clearInputTime" style="float: right;margin-right: 10px">清空</button>' + '</div>' + '</div>' + '<div class="clear"></div>' + '<div class="calendar left"></div>' + '<div class="calendar right"></div>' + '</div>';
最終的效果以下圖:bootstrap
點擊上方的input框,會彈出雙日曆選擇器,選擇了日期以後,須要點擊肯定,輸入框內纔會有值,若是須要清空輸入框的值,只須要再次激活日曆選擇器,點擊清空便可app
更多詳細參數請參考:網站
http://bootstrap-datepicker.readthedocs.io/en/latest/options.htmlthis
或者參考源碼:daterangepicker.js裏面的下列代碼:插件
setOptions: function(options, callback) { this.startDate = moment().startOf('day'); this.endDate = moment().endOf('day'); this.minDate = false; this.maxDate = false; this.dateLimit = false; this.showDropdowns = false; this.showWeekNumbers = false; this.timePicker = false; this.timePickerIncrement = 30; this.timePicker12Hour = true; this.singleDatePicker = false; this.ranges = {}; this.opens = 'right'; if (this.element.hasClass('pull-right')) this.opens = 'left'; this.buttonClasses = ['btn', 'btn-small']; this.applyClass = 'btn-success'; this.cancelClass = 'btn-default'; this.format = 'YYYY-MM-DD'; this.separator = ' - '; this.locale = { applyLabel: '肯定', cancelLabel: '取消', fromLabel: '從', toLabel: '到', weekLabel: 'W', customRangeLabel: 'Custom Range', daysOfWeek: moment()._lang._weekdaysMin.slice(), monthNames: moment()._lang._monthsShort.slice(), firstDay: 0 };