DCalendar增加月份選擇功能--簡單jQuery日期選擇器插件改動


做時間插件的時候,很多都會遇到要做選擇月份的插件,但是DCalendar提供的api只支持日期選擇,最近遇到這個問題,所以調整了一下源碼,話不多說,先看效果吧

點擊日期插件,出現上圖,再點擊月份就直接完成時間選擇。

說一下,原來DCalendar是點擊出現

所以首先增加一個option;

把原來的

this.viewMode = 'days';

改為

this.viewMode = options.viewMode?options.viewMode:'days';

這樣,就完成了這個效果;

其次,時間插件還要求點擊到幾號才完成時間選擇。

所以,我們修改為點擊月份后就完成時間選擇。

this.calendar.on('click', '.month', function(e){
                    var curr = new Date(that.date), y = that.calendar.find('#currM').text();
                    curr.setMonth($(e.currentTarget).attr('num'));
                    that.date = curr;
                    if(that.options.format=='yyyy-mm'){
                        that.create(that.viewMode);
                        var cmonth = that.date.getMonth()+1,
                        cyear = that.date.getFullYear(),
                        selected = new Date(cyear, cmonth - 1, '1');
                        that.selected = cmonth + '/' + '1' + '/' + cyear;
                        that.selectDate();
                    }else{
                        that.viewMode = 'days';
                        that.create(that.viewMode);
                    }
                });

因為幾號不重要所以我初始化為1號,而且為了不影響原有功能,我在format=='yyyy-mm'才給做直接選出時間的處理。

初始化方法:

$('#mydatepicker').dcalendarpicker({
                format: 'yyyy-mm',
                viewMode : 'months'
            });

就這樣,我們簡單完成一個插件改造功能。

 


免責聲明!

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



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