bootstrap日期插件daterangepicker使用详解


Posted in Javascript onOctober 19, 2017

今天用的了bootstrap日期插件感觉搜索的资料不是很多在此写下一些使用的心得:
插件开源地址:daterangepicker日期控件,
插件使用只要按照开源中的文档信息来就好先包括以下引用:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="moment.js"></script>
<script type="text/javascript" src="daterangepicker.js"></script>
<link rel="stylesheet" type="text/css" href="bootstrap.css" />
<link rel="stylesheet" type="text/css" href="daterangepicker-bs3.css" />

包含对jquery,bootstrap框架的引用,以及日期处理用的moment.js,最后加载上这个插件的js和css文件
然后和大部分jq插件一样,该插件也是对$.fn的扩展所以进行以下的操作来使用这个控件

<script type="text/javascript">
$(document).ready(function() {
 $('input[name="daterange"]').daterangepicker();
});
</script>

用jq获取到你要插入的那个元素然后运行daterangepicker函数就能使用它默认的样式和属性了,
不过光有这个肯定是不行的,daterangepicker函数可以接受一个参数对象和一个回调函数,如下:

$('input[name="daterange"]').daterangepicker(
 { 
  format: 'YYYY-MM-DD',
  startDate: '2013-01-01',
  endDate: '2013-12-31'
 },
 function(start, end, label) {
  alert('A date range was chosen: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
 }
);

回调函数会在日期更改之后触发有三个参数,开始时间,结束时间以及标签名,可以在这里执行你要进行的操作如ajax请求

以上就可以构建一个英文版的日期控件了

bootstrap日期插件daterangepicker使用详解

接下来着重介绍一下locale和ranges两个参数

首先是locale这个参数locale是构建本地语言应用的重要参数(github上说locale接受对象参数,不过并没有说明对象的属性)

以下是插件中locale默认属性

{ 
applyLabel: ‘Apply', 
cancelLabel: ‘Cancel', 
fromLabel: ‘From', 
toLabel: ‘To', 
weekLabel: ‘W', 
customRangeLabel: ‘Custom Range', 
daysOfWeek: moment.weekdaysMin(), 
monthNames: moment.monthsShort(), 
firstDay: moment.localeData()._week.dow };

我们只有更改这些参数就能够使这个插件变成中文的插件

$('input[name=datetime]').daterangepicker({ 
    format: 'YYYY-MM-DD',
    startDate: '2013-01-01',
    endDate: new Date(),
    maxDate:new Date(),
    locale:{
      applyLabel: '确认',
      cancelLabel: '取消',
      fromLabel: '从',
      toLabel: '到',
      weekLabel: 'W',
      customRangeLabel: 'Custom Range',
      daysOfWeek:["日","一","二","三","四","五","六"],
      monthNames: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
    }
  }, function (start, end, label) {
    alert('A date range was chosen: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
  });

效果如下:

bootstrap日期插件daterangepicker使用详解

当然你可能也许想实现github中的那个效果,想加个添加时间的快捷键:
Improvely.com
没问题可以使用range参数实现:
range参数也是对象参数{name:[start,end] name是快捷键的名称,接受一个数组分别是时间的开始和结束

$('input[name=datetime]').daterangepicker({ 
  format: 'YYYY-MM-DD',
  startDate: '2013-01-01',
  endDate: new Date(),
  maxDate:new Date(),
  locale:{
   applyLabel: '确认',
   cancelLabel: '取消',
   fromLabel: '从',
   toLabel: '到',
   weekLabel: 'W',
   customRangeLabel: '选择时间',
   daysOfWeek:["日","一","二","三","四","五","六"],
   monthNames: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],
  },
  range: {
   "近期": ['2015-04-12',new Date()]
  }
 }, function (start, end, label) {
  alert('A date range was chosen: ' + start.format('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));
 });

效果如下:

bootstrap日期插件daterangepicker使用详解

这样就有了一个中文的日期插件了,当然还有其他的参数可以使用包括添加自己的class用来敷写bootstrap的样式来实现自己想要的样式,也可以使用单选时间框函数来实现,具体的大家可以仔细查看官方的文档来构建自己需要的时间选取控件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery扩展插件Validate—4设置错误提示的样式
Sep 05 Javascript
js猜数字小游戏的简单实现代码
Jul 02 Javascript
jQery使网页在显示器上居中显示适用于任何分辨率
Jun 09 Javascript
jQuery+css实现的蓝色水平二级导航菜单效果代码
Sep 11 Javascript
轻松实现Bootstrap图片轮播
Apr 20 Javascript
JS去除字符串中空格的方法
Feb 14 Javascript
详解如何制作并发布一个vue的组件的npm包
Nov 10 Javascript
微信小程序扫描二维码获取信息实例详解
May 07 Javascript
详解vue中$nextTick和$forceUpdate的用法
Dec 11 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
JavaScript 俄罗斯方块游戏实现方法与代码解释
Apr 08 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 Javascript
微信小程序的生命周期的详解
Oct 19 #Javascript
python爬取安居客二手房网站数据(实例讲解)
Oct 19 #Javascript
js 两个日期比较相差多少天的实例
Oct 19 #Javascript
Angular弹出模态框的两种方式
Oct 19 #Javascript
vue使用axios跨域请求数据问题详解
Oct 18 #Javascript
JS实现按钮颜色切换效果
Sep 05 #Javascript
JS实现元素上下左右移动效果
Oct 18 #Javascript
You might like
用PHP开发GUI
2006/10/09 PHP
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php生成图片验证码的方法
2016/04/15 PHP
PHP 实现浏览记录并按日期分组
2017/05/11 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
对象特征检测法判断浏览器对javascript对象的支持
2009/07/25 Javascript
JavaScript 一行代码,轻松搞定浮动快捷留言-V2升级版
2010/04/02 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
JS限制Textarea文本域字符个数的具体实现
2013/08/02 Javascript
解决Jquery鼠标经过不停滑动的问题
2014/03/03 Javascript
JQUERY实现网页右下角固定位置展开关闭特效的方法
2015/07/27 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
详解jQuery Mobile自定义标签
2016/01/06 Javascript
jQuery实现内容定时切换效果完整实例
2016/04/06 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
实例详解JSON取值(key是中文或者数字)方式
2017/08/24 Javascript
jQuery中 DOM节点操作方法大全
2017/10/12 jQuery
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
ES6 class类链式继承,实例化及react super(props)原理详解
2020/02/15 Javascript
python解析中国天气网的天气数据
2014/03/21 Python
Python使用Flask框架同时上传多个文件的方法
2015/03/21 Python
Python-嵌套列表list的全面解析
2016/06/08 Python
pymongo中聚合查询的使用方法
2019/03/22 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
机电一体化求职信
2014/03/10 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
2019年教师节:送给所有老师的祝福语
2019/09/05 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL