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 相关文章推荐
一个cssQuery对象 javascript脚本实现代码
Jul 21 Javascript
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
基于js disabled=&quot;false&quot;不起作用的解决办法
Jun 26 Javascript
jQuery中after的两种用法实例
Jul 03 Javascript
javascript中通过arguments参数伪装方法重载
Oct 08 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
Jan 30 Javascript
微信小程序 教程之列表渲染
Oct 18 Javascript
微信小程序url与token设置详解
Sep 26 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
vue 自动化路由实现代码
Sep 03 Javascript
JavaScript实现烟花绽放动画效果
Aug 04 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
Aug 06 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 闭包特性在实际应用中的问题
2009/10/30 PHP
ThinkPHP访问不存在的模块跳转到404页面的方法
2014/06/19 PHP
基于jQueryUI和Corethink实现百度的搜索提示功能
2016/11/09 PHP
php获取给定日期相差天数的方法分析
2017/02/20 PHP
Javascript浮点数乘积运算出现多位小数的解决方法
2014/02/17 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
2015/12/08 Javascript
javascript嵌套函数和在函数内调用外部函数的区别分析
2016/01/31 Javascript
JavaScript的Backbone.js框架环境搭建及Hellow world示例
2016/05/07 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
在Vue组件中使用 TypeScript的方法
2018/02/28 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
d3绘制基本的柱形图的实现代码
2018/12/12 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
[02:38]2018年度DOTA2最佳劣单位选手-完美盛典
2018/12/17 DOTA
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
浅谈Python的Django框架中的缓存控制
2015/07/24 Python
Python函数中的函数(闭包)用法实例
2016/03/15 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
Win系统PyQt5安装和使用教程
2019/12/25 Python
python3安装OCR识别库tesserocr过程图解
2020/04/02 Python
python 实现读取csv数据,分类求和 再写进 csv
2020/05/18 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
Bonprix法国:时尚、鞋子、家居
2020/12/29 全球购物
计算机应用专业毕业生求职信
2013/10/24 职场文书
我的梦想演讲稿
2014/04/30 职场文书
辛亥革命观后感
2015/06/02 职场文书
初中毕业生感言
2015/07/31 职场文书
公司备用金管理制度
2015/08/04 职场文书
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL