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 Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 Javascript
A标签触发onclick事件而不跳转的多种解决方法
Jun 27 Javascript
JavaScript获取XML数据附示例截图
Mar 05 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
JavaScript 身份证号有效验证详解及实例代码
Oct 20 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
JS简单实现获取元素的封装操作示例
Apr 07 Javascript
解决JS外部文件中文注释出现乱码问题
Jul 09 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
Apr 20 Javascript
Element Card 卡片的具体使用
Jul 26 Javascript
javascript实现智能手环时间显示
Sep 18 Javascript
vue实现动态表格提交参数动态生成控件的操作
Nov 09 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脚本数据库功能详解(下)
2006/10/09 PHP
与数据库连接
2006/10/09 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
详解PHP数组赋值方法
2015/11/07 PHP
在 Laravel 6 中缓存数据库查询结果的方法
2019/12/11 PHP
jQuery中is()方法用法实例
2015/01/06 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
JavaScript如何动态创建table表格
2020/08/02 Javascript
AngularJS 入门教程之HTML DOM实例详解
2016/07/28 Javascript
AngularJS实现在ng-Options加上index的解决方法
2016/11/03 Javascript
详解javascript中对数据格式化的思考
2017/01/23 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
Webpack path与publicPath的区别详解
2018/05/03 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
Python-基础-入门 简介
2014/08/09 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
python中reduce()函数的使用方法示例
2017/09/29 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
Python学习笔记之变量、自定义函数用法示例
2019/05/28 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
Python连接字符串过程详解
2020/01/06 Python
Pytorch之finetune使用详解
2020/01/18 Python
利用CSS3的3D效果制作正方体
2020/03/10 HTML / CSS
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
Servlet方面面试题
2016/09/28 面试题
财务人员个人自荐信范文
2013/09/26 职场文书
2019入党申请书格式
2019/06/25 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
python实现自动化群控的步骤
2021/04/11 Python
安装配置mysql及Navicat prenium的详细流程
2021/06/10 MySQL
Pandas 稀疏数据结构的实现
2021/07/25 Python