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 相关文章推荐
JavaScript 用Node.js写Shell脚本[译]
Sep 20 Javascript
jQuery回车实现登录简单实现
Aug 20 Javascript
讨论html与javascript在浏览器中的加载顺序问题
Nov 27 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
利用JavaScript判断浏览器类型及版本
Aug 23 Javascript
如何解决hover在ie6中的兼容性问题
Dec 15 Javascript
js实现数组去重方法及效率?Ρ? target=
Feb 14 Javascript
解决vue2.x中数据渲染以及vuex缓存的问题
Jul 13 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
Feb 11 Javascript
Vue实现搜索结果高亮显示关键字
May 28 Javascript
vue实现短信验证码输入框
Apr 17 Javascript
Vue和React有哪些区别
Sep 12 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
IIS环境下快速安装、配置和调试PHP5.2.0
2006/12/17 PHP
利用PHP制作简单的内容采集器的代码
2007/11/28 PHP
phpMyAdmin 安装配置方法和问题解决
2009/06/08 PHP
PHP中防止SQL注入实现代码
2011/02/19 PHP
ThinkPHP提交表单时默认自动转义的解决方法
2014/11/25 PHP
php计算税后工资的方法
2015/07/28 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
prototype 学习笔记整理
2009/07/17 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
原生JS实现风箱式demo,并封装了一个运动框架(实例代码)
2016/07/22 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
Angular4 ElementRef的应用
2018/02/26 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
[09:47]2018DOTA2亚洲邀请赛4.5SOLO赛 No[o]ne vs Sumail
2018/04/06 DOTA
python 不关闭控制台的实现方法
2011/10/23 Python
Python内置函数delattr的具体用法
2017/11/23 Python
深入浅析python 中的匿名函数
2018/05/21 Python
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
原来我一直安装 Python 库的姿势都不对呀
2019/11/11 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
解决pycharm安装第三方库失败的问题
2020/05/09 Python
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
法务专员岗位职责
2014/01/02 职场文书
机电专业毕业生自我鉴定2014
2014/10/04 职场文书
文明单位申报材料
2014/12/23 职场文书
整改通知书
2015/04/20 职场文书
军事理论课感想
2015/08/11 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
pyqt5蒙版遮罩mask,setmask的使用
2021/06/11 Python
MySQL创建管理HASH分区
2022/04/13 MySQL