bootstrap雙日曆插件實例化

網站中不免會用到日期選擇插件,常見的有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>&nbsp;' +
         '<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
            };
相關文章
相關標籤/搜索