bootstrap-daterangepicker雙日歷的使用及更改和拓展

bootstrap-daterangepicker是基于bootstrap的一個雙日歷插件薪捍,用于選擇日期范圍,因原插件不符合項目的實際情況,因此在不影響原插件的使用下蹭沛,對插件進行部分修改及功能拓展臂寝。下面說明一下更改和拓展的部分:

更改:

????????????1、更改了插件的布局和樣式

? ? ? ? ? ? 2摊灭、隱藏了原插件左邊對日期范圍的快捷選擇部分(如:今天咆贬、明天、未來7天等)帚呼,快捷選擇放到了外部日期選擇的右側(cè)

? ? ? ? ? ? 3掏缎、可在日期選擇器下實時展示當前選擇的日期區(qū)間并可點擊進行快速更改。

? ? ? ? ? ? 4煤杀、插件已做了漢化處理眷蜈,無需再初始化漢化

拓展:?

????????????1、增加了切換年份的入口

先上效果圖:


插件原效果:


上代碼:

引入文件:


html:

<div class="input-group fl" style="width: 200px;">

? ? ? ? ? ? ? ? ? ? <button type="button" class="btn btn-default form-control daterange-btn" id="daterange-btn">

? ? ? ? ? ? ? ? ? ? ? ? <span></span>

? ? ? ? ? ? ? ? ? ? ? ? <i class="glyphicon glyphicon-calendar pl-10 pr-10"></i>

? ? ? ? ? ? ? ? ? ? </button>

? ? ? ? ? ? ? ? ? ? <input type="hidden" value="" id="incomeStartDate">

? ? ? ? ? ? ? ? ? ? <input type="hidden" value="" id="incomeEndDate">

? ? ? ? ? ? ? ? </div>

? ? ? ? ? ? ? ? <p class="timeSlot fl">

? ? ? ? ? ? ? ? ? ? <span class="slot" onclick="choseTimeSlot(this, 0)">昨日</span>

? ? ? ? ? ? ? ? ? ? <span class="slot" onclick="choseTimeSlot(this, 1)">今日</span>

? ? ? ? ? ? ? ? ? ? <span class="slot active" onclick="choseTimeSlot(this, 2)">近三天</span>

? ? ? ? ? ? ? ? </p>

? ? ? ? ? ? </div>

css:

<style>

.fl{

float: left;

}

.main{

margin: 50px;

}

.timeSlot{

line-height: 30px;

}

.slot{

margin-left: 20px;

cursor: pointer;

}

.slot.active{

color: blue;

}

.pl-10{

padding-left: 10px;

}

.pr-10{

padding-right: 10px;

}

</style>


js:

<script>

? ? $(function () {

$('#daterange-btn span').html(GetDateStr(-2)+'? ~? '+ (new Date()).Format("yyyy-MM-dd"));

? ? ? ? $("#incomeStartDate").val(GetDateStr(-2));

? ? ? ? $("#incomeEndDate").val((new Date()).Format("yyyy-MM-dd"));

? ? $('#daterange-btn').daterangepicker({

? ? ? ? ? ? ? ? startDate:moment().subtract(2, 'days'),

? ? ? ? ? ? ? ? endDate: (new Date()).Format("yyyy-MM-dd"),

? ? ? ? ? ? ? ? locale:{

? ? ? ? ? ? ? ? ? ? format: 'YYYY-MM-DD',

? ? ? ? ? ? ? ? ? ? separator: "? ~? "

? ? ? ? ? ? ? ? }

? ? ? ? ? ? },

? ? ? ? ? ? function(start, end,label) {

? ? ? ? ? ? ? ? if(end==null){

? ? ? ? ? ? ? ? ? ? end = start;

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? $('#daterange-btn span').html(start.format('YYYY-MM-DD')+'? ~? '+end.format('YYYY-MM-DD'));

? ? ? ? ? ? ? ? if($("#incomeStartDate").val() != start.format('YYYY-MM-DD')&& $("#incomeEndDate").val() != end.format('YYYY-MM-DD')){

? ? ? ? ? ? ? ? ? ? $(".timeSlot .slot").removeClass("active");

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? $("#incomeStartDate").val(start.format('YYYY-MM-DD'));

? ? ? ? ? ? ? ? $("#incomeEndDate").val(end.format('YYYY-MM-DD'));

? ? ? ? ? ? });

? ? })

/*獲取今天前后的日期*/

? ? function GetDateStr(AddDayCount) {

? ? ? ? var dd = new Date();

? ? ? ? dd.setDate(dd.getDate()+AddDayCount);//獲取AddDayCount天后的日期

? ? ? ? var y = dd.getFullYear();

? ? ? ? var m = (dd.getMonth()+1)<10?"0"+(dd.getMonth()+1):(dd.getMonth()+1);//獲取當前月份的日期沈自,不足10補0

? ? ? ? var d = dd.getDate()<10?"0"+dd.getDate():dd.getDate();//獲取當前幾號酌儒,不足10補0

? ? ? ? return y+"-"+m+"-"+d;

? ? }

? ? /*選擇到賬日期區(qū)間*/

? ? function choseTimeSlot(obj,type) {

? ? ? ? $(obj).addClass("active").siblings(".slot").removeClass("active");

? ? ? ? if(type == 0){

? ? ? ? ? ? /*昨天*/

? ? ? ? ? ? var date = GetDateStr(-1);

? ? ? ? ? ? $('#daterange-btn span').html(date+'? ~? '+date);

? ? ? ? ? ? $("#incomeStartDate").val(date);

? ? ? ? ? ? $("#incomeEndDate").val(date);

? ? ? ? ? ? $('#daterange-btn').data('daterangepicker').setStartDate(date);

? ? ? ? ? ? $('#daterange-btn').data('daterangepicker').setEndDate(date);

? ? ? ? }else if(type == 1){

? ? ? ? ? ? /*今天*/

? ? ? ? ? ? var date =(new Date()).Format("yyyy-MM-dd");

? ? ? ? ? ? $('#daterange-btn span').html(date+'? ~? '+date);

? ? ? ? ? ? $("#incomeStartDate").val(date);

? ? ? ? ? ? $("#incomeEndDate").val(date);

? ? ? ? ? ? $('#daterange-btn').data('daterangepicker').setStartDate(date);

? ? ? ? ? ? $('#daterange-btn').data('daterangepicker').setEndDate(date);

? ? ? ? }else if(type == 2){

? ? ? ? ? ? /*前三天*/

? ? ? ? ? ? $('#daterange-btn span').html(GetDateStr(-2)+'? ~? '+(new Date()).Format("yyyy-MM-dd"));

? ? ? ? ? ? $("#incomeStartDate").val(GetDateStr(-2));

? ? ? ? ? ? $("#incomeEndDate").val((new Date()).Format("yyyy-MM-dd"));

? ? ? ? ? ? $('#daterange-btn').data('daterangepicker').setStartDate(GetDateStr(-2));

? ? ? ? ? ? $('#daterange-btn').data('daterangepicker').setEndDate((new Date()).Format("yyyy-MM-dd"));

? ? ? ? }

? ? }

/*格式化日期*/

Date.prototype.Format = function (fmt) { //author: meizz

? ? var o = {

? ? ? ? "M+": this.getMonth() + 1,? ? ? ? ? ? ? ? //月份

? ? ? ? "d+": this.getDate(),? ? ? ? ? ? ? ? ? ? //日

? ? ? ? "h+": this.getHours(),? ? ? ? ? ? ? ? ? //小時

? ? ? ? "m+": this.getMinutes(),? ? ? ? ? ? ? ? //分

? ? ? ? "s+": this.getSeconds(),? ? ? ? ? ? ? ? //秒

? ? ? ? "q+": Math.floor((this.getMonth() + 3) / 3), //季度

? ? ? ? "S": this.getMilliseconds()? ? ? ? ? ? //毫秒

? ? };

? ? if (/(y+)/.test(fmt))

? ? ? ? fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));

? ? for (var k in o)

? ? ? ? if (new RegExp("(" + k + ")").test(fmt))

? ? ? ? ? ? fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));

? ? return fmt;

}

</script>

完整domo地址:https://github.com/lllhy/bootstrap-daterangepicker.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市酥泛,隨后出現(xiàn)的幾起案子今豆,更是在濱河造成了極大的恐慌,老刑警劉巖柔袁,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呆躲,死亡現(xiàn)場離奇詭異,居然都是意外死亡捶索,警方通過查閱死者的電腦和手機插掂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腥例,“玉大人辅甥,你說我怎么就攤上這事×鞘” “怎么了璃弄?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長构回。 經(jīng)常有香客問我夏块,道長,這世上最難降的妖魔是什么纤掸? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任脐供,我火速辦了婚禮,結(jié)果婚禮上借跪,老公的妹妹穿的比我還像新娘政己。我一直安慰自己,他們只是感情好掏愁,可當我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布歇由。 她就那樣靜靜地躺著卵牍,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沦泌。 梳的紋絲不亂的頭發(fā)上辽慕,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機與錄音赦肃,去河邊找鬼溅蛉。 笑死,一個胖子當著我的面吹牛他宛,可吹牛的內(nèi)容都是我干的船侧。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼厅各,長吁一口氣:“原來是場噩夢啊……” “哼镜撩!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起队塘,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤袁梗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后憔古,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遮怜,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年鸿市,在試婚紗的時候發(fā)現(xiàn)自己被綠了锯梁。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡焰情,死狀恐怖陌凳,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情内舟,我是刑警寧澤合敦,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站验游,受9級特大地震影響充岛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜批狱,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一裸准、第九天 我趴在偏房一處隱蔽的房頂上張望展东。 院中可真熱鬧赔硫,春花似錦、人聲如沸盐肃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至推盛,卻和暖如春峦阁,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耘成。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工榔昔, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人瘪菌。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓撒会,卻偏偏與公主長得像,于是被迫代替她去往敵國和親师妙。 傳聞我的和親對象是個殘疾皇子诵肛,可洞房花燭夜當晚...
    茶點故事閱讀 44,573評論 2 353

推薦閱讀更多精彩內(nèi)容