您的位置:首页 > Web前端 > BootStrap

bootstrap-daterangepicker:最好用的日期范围选择组件

2017-04-04 17:55 477 查看
嗯,在我还没有发现bootstrap-daterangepicker组件时,

在页面需要选择日期范围时,我是傻乎乎的创建两个日期组件。

现在想想,以前的low劲真是不可忍呐!

零、效果展示

现在是这样的:



以前是这样的:



不比不知道,一比高下立断。

一、源码下载

Date Range Picker for Bootstrap

注意要依赖Bootstrap, jQuery and Moment.js。

Date Range Picker relies on Bootstrap, jQuery and Moment.js. Include the required scripts and stylesheet in your page.

二、使用方法

<div class="form-group daterange">
<label>下单时间:</label>
<input class="form-control" name="range_date" type="text">
<i class="fa fa-calendar"></i>
</div>


外层div上增加daterange class。

一个普通的input标签。

一个日历的i标签。

如此就好。

三、内部封装

首先是js。

$(function() {
$(".daterange input").each(function() {
var $this = $(this);

$this.daterangepicker({
locale : {
"format" : "YYYY-MM-DD",// 显示格式
"separator" : " / ",// 两个日期之间的分割线
// 中文化
"applyLabel" : "确定",
"cancelLabel" : "取消",
"fromLabel" : "开始",
"toLabel" : "结束",
"daysOfWeek" : [ "日", "一", "二", "三", "四", "五", "六" ],
"monthNames" : [ "一月", "二月", "三月", "四月", "五月", "六", "七月", "八月", "九月", "十月", "十一月", "十二月" ],
"firstDay" : 1
},
}, function(start, end, label) {
// 点击确定后的事件,下面是为了bootstrap validate得校验,
// 若未使用,可忽视
if ($this.parents("form.required-validate").length > 0) {
var $form = $this.parents("form.required-validate");

var name = $this.attr("name");
if ($form.length > 0) {
var data = $form.data('bootstrapValidator');
data.updateStatus(name, 'NOT_VALIDATED', null)
// Validate the field
.validateField(name);
}
}
// 设置最小宽度,否则显示不全
}).css("min-width", "210px").next("i").click(function() {
// 对日期的i标签增加click事件,使其在鼠标点击时可以拉出日期选择
$(this).parent().find('input').click();
});
});
});


再来看css。

/* 定位i标签在input标签内 */
.daterange i {
position: absolute;
bottom: 10px;
right: 14px;
top: auto;
cursor: pointer;
}
.daterange {
position: relative;
}
/* daterange i end */


沉默王二公众号正在招募原创团队(写作、朗读),我们目前已有9人,期待你的加入!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  日期插件
相关文章推荐