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 相关文章推荐
Sample script that deletes a SQL Server database
Jun 16 Javascript
jQuery中的常用事件总结
Dec 27 Javascript
js关闭当前页面(窗口)的几种方式总结
Mar 05 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
Dec 11 Javascript
JQuery拖动表头边框线调整表格列宽效果代码
Sep 10 Javascript
实例解析jQuery工具函数
Dec 01 Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 Javascript
Nuxt.js SSR与权限验证的实现
Nov 21 Javascript
express+vue+mongodb+session 实现注册登录功能
Dec 06 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
May 14 Javascript
layui点击数据表格添加或删除一行的例子
Sep 12 Javascript
vue3引入highlight.js进行代码高亮的方法实例
Apr 08 Vue.js
微信小程序的生命周期的详解
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实现paypal整合方法
2010/11/28 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
万能的php分页类
2017/07/06 PHP
从新浪弄下来的全屏广告代码 与使用说明
2007/03/15 Javascript
JS在IE和FF下attachEvent,addEventListener学习笔记
2009/11/26 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
基于jquery fly插件实现加入购物车抛物线动画效果
2016/04/05 Javascript
基于jQuery实现仿微博发布框字数提示
2016/07/27 Javascript
ReactNative页面跳转Navigator实现的示例代码
2017/08/02 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
小程序实现五星点评效果
2018/11/03 Javascript
详解微信小程序回到顶部的两种方式
2019/05/09 Javascript
JS实现使用POST方式发送请求
2019/08/30 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
python中的lambda表达式用法详解
2016/06/22 Python
Python面向对象程序设计示例小结
2019/01/30 Python
win10下安装Anaconda的教程(python环境+jupyter_notebook)
2019/10/23 Python
python 下载文件的几种方法汇总
2021/01/06 Python
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
int *p=NULL和*p= NULL有什么区别
2014/10/23 面试题
渗透攻击的测试步骤
2014/06/07 面试题
副厂长岗位职责
2014/02/02 职场文书
成人继续教育实施方案
2014/03/01 职场文书
建筑专业毕业生自荐信
2014/05/25 职场文书
计算机售后服务承诺书
2014/05/30 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
2015年城管个人工作总结范文
2015/04/20 职场文书
趣味运动会新闻稿
2015/07/17 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android