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汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
Dec 20 Javascript
异步动态加载JS并运行(示例代码)
Dec 13 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
Mar 27 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
微信支付 JS API支付接口详解
Jul 11 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
Jan 20 Javascript
ReactNative Image组件使用详解
Aug 07 Javascript
JS实现浏览上传文件的代码
Aug 23 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
Aug 22 Javascript
详解Vue项目部署遇到的问题及解决方案
Jan 11 Javascript
记一次vue-webpack项目优化实践详解
Feb 17 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
ThinkPHP采用模块和操作分析
2011/04/18 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
php采用curl模仿登录人人网发布动态的方法
2014/11/07 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
自动检查并替换文本框内的字符
2006/06/30 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
js报$ is not a function 的问题的解决方法
2014/01/20 Javascript
Javascript写入txt和读取txt文件示例
2014/02/12 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
Bootstrap Paginator分页插件与ajax相结合实现动态无刷新分页效果
2016/05/27 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
基于JS实现仿京东搜索栏随滑动透明度渐变效果
2017/07/10 Javascript
jquery实现左右轮播图效果
2017/09/28 jQuery
element-ui table span-method(行合并)的实现代码
2018/12/20 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
Python random模块用法解析及简单示例
2017/12/18 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
python中的文件打开与关闭操作命令介绍
2018/04/26 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
python中return如何写
2020/06/18 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
如何用border-image实现文字气泡边框的示例代码
2020/01/21 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
马德里竞技官方网上商店:Atletico Madrid Shop
2019/03/31 全球购物
我们的节日端午节活动方案
2014/03/02 职场文书
常务副总经理岗位职责
2014/04/12 职场文书
体育教师求职信
2014/06/30 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
搞笑老公保证书
2015/02/26 职场文书
合同审查法律意见书
2015/06/04 职场文书
陪护人员误工证明
2015/06/24 职场文书
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js