bootstrap雙日歷插件實例化


網站中難免會用到日期選擇插件,常見的有jquery的,也有bootstrap的.單日歷的就不說了,實例化都比較簡單.今天給大家介紹一下bootstrap的雙日歷插件.

http://www.jq22.com/jquery-info1087     這是雙日歷插件下載地址,demo里面有介紹需要引入那些js和css文件.

1.直接進入到js實例化部分:

 1 function timePicker(){
 2     var option={
 3         locale:{
 4             fromLabel: '開始日期',
 5             toLabel: '結束日期'
 6         },
 7         maxDate:new Date(new Date().getFullYear()+'-'+(new Date().getMonth()+1)+'-'+(new Date().getDate()+1)),//雙日歷允許最大的結束日期
opens:'left',//日歷與輸入框的對其方式,當前為右對齊
8 //maxDate:moment(),//設置成moment(),有一個bug,那就是不能選擇今天(比如2016-7-21) 9 //dateLimit:{//起止時間允許的范圍 10 // days:30 11 //}, 12 showDropdowns : true//這個屬性可以實現下拉選擇年份 13 }; 14 $('#calenderAccount').daterangepicker(option); 15 setTimeout(function () { 16 17 18 $('#calenderImg').click(function (e) { 19 if(e.stopPropagation()){ 20 e.stopPropagation(); 21 }else if(e.cancelBubble){ 22 e.cancelBubble=true 23 } 24 $('#calenderAccount').trigger('click') 25 }); 26 $('.clearInputTime').click(function () {//實現清空的功能 27 $('#calenderAccount').val(''); 28 $('#startTime').val(''); 29 $('#endTime').val(''); 30 $('.cancelBtn ').trigger('click') 31 }) 32 },400); 33 }

2.由於配置參數里面並沒有清空按鈕,但是項目為了實現這一個功能,所以自己在源碼里面添加了一行,增加了一個清空按鈕:

 1 var DRPTemplate = '<div class="daterangepicker dropdown-menu">' +
 2 
 3             '<div class="ranges">' +
 4             '<div class="range_inputs">' +
 5             '<div class="daterangepicker_start_input">' +
 6             '<label for="daterangepicker_start"></label>' +
 7             '<input class="input-mini" type="text" name="daterangepicker_start" value="" disabled="disabled" />' +
 8             '</div>' +
 9             '<div class="daterangepicker_end_input">' +
10             '<label for="daterangepicker_end"></label>' +
11             '<input class="input-mini" type="text" name="daterangepicker_end" value="" disabled="disabled" />' +
12             '</div>' +
13             '<button class="applyBtn" disabled="disabled"></button>&nbsp;' +
14             '<button class="cancelBtn btnDone"></button>' +
15             '<button class="clearInputTime" style="float: right;margin-right: 10px">清空</button>' +
16             '</div>' +
17             '</div>' +
18             '<div class="clear"></div>' +
19             '<div class="calendar left"></div>' +
20             '<div class="calendar right"></div>' +
21             '</div>';

最終的效果如下圖:

點擊上方的input框,會彈出雙日歷選擇器,選擇了日期之后,需要點擊確定,輸入框內才會有值,如果需要清空輸入框的值,只需要再次激活日歷選擇器,點擊清空即可

更多詳細參數請參考:

http://bootstrap-datepicker.readthedocs.io/en/latest/options.html

或者參考源碼: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
            };

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM