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 相关文章推荐
js实现的网站首页随机公告随机公告
Mar 14 Javascript
Jquery图形报表插件 jqplot简介及参数详解
Oct 10 Javascript
jquery $.each 和for怎么跳出循环终止本次循环
Sep 27 Javascript
JQuery插件开发示例代码
Nov 06 Javascript
JS获取html对象的几种方式介绍
Dec 05 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
原生JS:Date对象全面解析
Sep 06 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
Oct 10 Javascript
JS作用域链详解
Jun 26 Javascript
Express进阶之log4js实用入门指南
Feb 10 Javascript
JS判断用户用的哪个浏览器实例详解
Oct 09 Javascript
详解vue-video-player使用心得(兼容m3u8)
Aug 23 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
ajax缓存问题解决途径
2006/12/06 PHP
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
thinkphp隐藏index.php/home并允许访问其他模块的实现方法
2016/10/13 PHP
详谈PHP中的密码安全性Password Hashing
2017/02/04 PHP
详解php命令注入攻击
2019/04/06 PHP
jQuery提示插件alertify使用指南
2015/04/21 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
ES6下React组件的写法示例代码
2017/05/04 Javascript
js数字滑动时钟的简单实现(示例讲解)
2017/08/14 Javascript
JS实现页面打印(整体、局部)
2017/08/18 Javascript
详解vue 组件之间使用eventbus传值
2017/10/25 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
vue用递归组件写树形控件的实例代码
2018/07/19 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Python入门篇之函数
2014/10/20 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
Python入门_浅谈数据结构的4种基本类型
2017/05/16 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python callable()函数用法实例分析
2018/03/17 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Python为何不能用可变对象作为默认参数的值
2019/07/01 Python
Django的models中on_delete参数详解
2019/07/16 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
Interhome丹麦:在线预订度假屋和公寓
2019/07/18 全球购物
Unineed中文官网:高端护肤美妆与时尚配饰,英国直邮
2020/07/23 全球购物
PHP如何对用户密码进行加密
2014/07/31 面试题
人事科岗位职责范本
2014/03/02 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
2015年五四青年节演讲稿
2015/03/18 职场文书
2015教师年度考核评语
2015/03/25 职场文书
物业工程部经理岗位职责
2015/04/09 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
Pytest中skip skipif跳过用例详解
2021/06/30 Python