首页 > javascript相关 > jquery教程 > 正文

bootstrap中日历范围选择插件daterangepicker的使用详解_jquery

2018-11-27 22:24:16

daterangepicker是bootstrap的一个日历插件 主要用来选择时间段的插件 这个插件很好用 也很容易操作

这里写图片描述
这里写图片描述 

 引入相关插件

<!-- 需要引用的依赖库 --><script type="text/javascript" src="//cdn.jsdelivr.net/jquery/1/jquery.min.js"></script><script type="text/javascript" src="//cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap/3/css/bootstrap.css" rel="external nofollow" /><!-- 引用 daterangepicker 相关文件--><script type="text/javascript" src="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.js"></script><link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/bootstrap.daterangepicker/2/daterangepicker.css" rel="external nofollow" />

需要的元素添加该插件的调用方法:

$('input[name="daterange"]').daterangepicker();

您可以通过参数自定义相关配置,还可以通过回调函数在用户选择新的日期时获得通知。

$('input[name="daterange"]').daterangepicker({    locale: {     format: 'YYYY-MM-DD'    },    startDate: '2013-01-01',    endDate: '2013-12-31'  },  function(start, end, label) {    alert("A new date range was chosen: " + start.format    ('YYYY-MM-DD') + ' to ' + end.format('YYYY-MM-DD'));  });

其中这些配置可以组成一个配置为文件 然后再()中引入

 $('input[name=dateStr]', '#themeAddPage').daterangepicker(dateRangePickerAfterTodayConfig);

配置文件

var dateLongRangePickerOptionObj = {  minDate: '2015/01/01 00:00:00',  //最小时间  showDropdowns: true,  showWeekNumbers: false, //是否显示第几周  dateLimit: {days: 300}, //起止时间的最大间隔  timePicker: true,  timePickerIncrement: 1, //时间的增量,单位为分钟  timePicker12Hour: false,  opens: 'right', //日期选择框的弹出位置  buttonClasses: ['btn btn-default'],  applyClass: 'btn-small btn-primary blue',  cancelClass: 'btn-small',  format: 'YYYY/MM/DD HH:mm:ss', //控件中from和to 显示的日期格式MM/DD/YYYY  separator: '-',  defaultDate: new Date(),  locale: {    applyLabel: '确定',    cancelLabel: '取消',    fromLabel: '起始时间',    toLabel: '结束时间',    daysOfWeek: ['日', '一', '二', '三', '四', '五', '六'],    monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],    firstDay: 1  }}

配置选项,方法和事件

配置选项

startDate: (Date 对象, moment 对象或者string类型)初始化日期范围选中的开始时间。endDate: (Date 对象, moment 对象或者string类型)初始化日期范围选中的结束时间。minDate: (Date 对象, moment 对象或者string类型) 用户可以选择的最早时间。maxDate: (Date 对象, moment 对象或者string类型) 用户可以选择的最晚时间。dateLimit: (object类型) 选中的开始和结束日期之间最大时间间隔。可以是能够添加到moment对象(moment.add())中的任何属性(如:days, months)。showDropdowns: (boolean类型) 在日历上面显示年和月的下拉框,选中后将跳到指定的年和月showWeekNumbers: (boolean类型) 在日历上每周开始的地方显示本地化的周编号。showISOWeekNumbers: (boolean类型) 在日历上每周开始的地方显示国际标准的周编号。timePicker: (boolean类型) 允许选择日期和时间,而不是局限于日期。timePickerIncrement: (number类型) 时间选择框中分钟列的增加步长(如:设置为30后只允许选择以0和30结束的时间)。timePicker24Hour: (boolean类型) 使用24小时制来代替12小时制,同时删除AM/PM选择框。timePickerSeconds: (boolean类型) 在时间选择框中显示秒选择列。ranges: (object类型) 设置用户可以选择的预定义日期范围。每个键名即范围的标签名,对应值是两个日期组成的数组,来表示范围的界限。showCustomRangeLabel: (boolean类型) 当使用范围选项时,在预定义范围列表的末尾显示标记为"Custom Range"的标签。当选择的日期范围与任何一个预定义的范围都不匹配时,该选项将被高亮显示。单击它显示日历可以选择新的范围。alwaysShowCalendars: (boolean类型) 通常,如果使用范围选项指定了预定义日期范围,则用户除了单击 "Custom Range"之外,日期选择器都不会显示用于选择自定义日期范围的日历。当选项设置为true时,将始终显示用于选择自定义日期范围的日历。opens: (string: 'left'/'right'/'center') 设置日期选择器以绑定元素左对齐、右对齐或者居中显示。drops: (string: 'down' or 'up') 设置日期选择器在绑定元素的下面(默认)或者上面显示。buttonClasses: (array类型)为日期选择器中的所有button元素添加CSS类。applyClass: (string类型) 为日期选择器中的apply按钮添加类。cancelClass: (string类型) 为日期选择器中的cancel按钮添加类。locale: (object类型) 允许为按钮和标签提供本地化的字符串,自定义日期格式,并更改日历中周的第一天。 查看配置生成器中的“locale配置(包含设置示例)”,以了解如何自定义这些选项。singleDatePicker: (boolean类型) 只显示一个日历来选择一个日期,而不是带有两个日历的范围选择器;回调函数中提供的开始和结束日期将和选择的单个日期相同。autoApply: (boolean类型) 隐藏apply和cancel按钮。选择两个日期或预定义范围时,会自动应用新的日期范围。linkedCalendars: (boolean类型) 启用时,显示的两个日历将始终为两个连续的月份(如:1月和2月),并且当单击日历上方的左侧或右侧箭头时,两个日历都将变化。 禁用时,两个日历可以单独变化并显示任何月/年。isInvalidDate: (function类型) 在显示两个日历之前传递一个日期参数,然后通过返回true或false,标示该日期是否可供选择。isCustomDate: (function类型) 在显示两个日历之前传递一个日期参数,然后将返回的CSS类名字符串传或者数组应用在日历中的该日期上。autoUpdateInput: (boolean类型) 标示日期范围选择器是否应在初始化和所选日期改变时,自动更新绑定在<input>元素上的值。parentEl: (string类型) 给日期选择器添加父元素的jQuery选择器,如果没有提供,body将被作为父元素。

方法

您可以使用setStartDate和setEndDate方法以程序化的方式更新日期选择器中的startDate和endDate。 您也可以通过绑定到该元素上的data属性访问日期范围选择器对象及其功能和属性。

setStartDate(Date 对象, moment 对象或者string类型): 设置日期范围选择器中当前选择的开始日期为提供的日期 setEndDate(Date 对象, moment 对象或者string类型): 设置日期范围选择器中当前选择的结束日期为提供的日期

示例用法:

// 创建一个新的日期范围选择器$('#daterange').daterangepicker({ startDate: '03/05/2005', endDate: '03/06/2005' });// 改变日期选择器中选中的日期范围$('#daterange').data('daterangepicker').setStartDate('03/01/2014');$('#daterange').data('daterangepicker').setEndDate('03/31/2014');

事件

日期选择器绑定的元素可以触发以下几个事件,这些事件,您都可以进行监听。

show.daterangepicker: 日期选择器显示后触发事件 hide.daterangepicker: 日期选择器隐藏后触发事件 showCalendar.daterangepicker: 日历显示后触发事件 hideCalendar.daterangepicker: 日历隐藏后触发事件 apply.daterangepicker: apply按钮被点击,或者预定义范围标签被点击时触发事件 cancel.daterangepicker: cancel按钮被点击时

触发事件

有些应用需要“清除”而不是“取消”功能,这可以通过更改按钮标签监听cancel事件来实现:

$('#daterange').daterangepicker({ locale: { cancelLabel: 'Clear' }});$('#daterange').on('cancel.daterangepicker', function(ev, picker) { $('#daterange').val('');});

向构造函数传一个回调函数作为参数是监听所选日期范围更改最简单的方法 ,即使选择未更改,每次应用按钮被点击时,您也可以执行某些操作:

$('#daterange').daterangepicker();$('#daterange').on('apply.daterangepicker', function(ev, picker) { console.log(picker.startDate.format('YYYY-MM-DD')); console.log(picker.endDate.format('YYYY-MM-DD'));});

总结

以上所述是小编给大家介绍的bootstrap中日历范围选择插件daterangepicker的使用详解 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

  • 相关标签:jquery教程
  • 本文发布HTML5中文学习网 ,转载请注明出处,感谢您!
  • 相关文章


  • 曝网友假装外国人写投诉信 ofo秒退押金并回函致歉
  • 苹果市值缩水逾2000亿美元 遭多家投行下调目标价
  • Asp.net Core与类库读取配置文件信息的方法_实用技巧
  • asp.net在Repeater嵌套的Repeater中使用复选框详解_实用技巧
  • 利用IIS调试ASP.NET网站程序的完整步骤_实用技巧
  • Asp.Net Core轻松学习系列之配置文件_实用技巧
  • ASP.NET 页生命周期概述(小结)_实用技巧
  • 详解ASP.NET Core WebApi 返回统一格式参数_实用技巧
  • 2018年网络流行语有哪些?2018年十大网络流行语盘点
  • 华为首席财务官孟晚舟被暂扣 深圳市政府要求加方立即放人!
  • 独孤九贱(4)_PHP视频教程

    江湖传言:PHP是世界上最好的编程语言。真的是这样吗?这个梗究竟是从哪来的?学会本课程,你就会明白了。 PHP中文网出品的PHP入门系统教学视频,完全从初学者的角度出发,绝不玩虚的,一切以实用、有用...

    独孤九贱(5)_ThinkPHP5视频教程

    ThinkPHP是国内最流行的中文PHP开发框架,也是您Web项目的最佳选择。《php.cn独孤九贱(5)-ThinkPHP5视频教程》课程以ThinkPHP5最新版本为例,从最基本的框架常识开始,将...

    独孤九贱(1)_HTML5视频教程

    《php.cn原创html5视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了HTML知识。 ...

    ThinkPHP5实战之[教学管理系统]

    本套教程,以一个真实的学校教学管理系统为案例,手把手教会您如何在一张白纸上,从零开始,一步一步的用ThinkPHP5框架快速开发出一个商业项目。

    PHP入门视频教程之一周学会PHP

    所有计算机语言的学习都要从基础开始,《PHP入门视频教程之一周学会PHP》不仅是PHP的基础部分更主要的是PHP语言的核心技术,是学习PHP必须掌握的内容,任何PHP项目的实现都离不开这部分的内容,通...

    作者信息

    kevin

    永远在学习的路上!

    相关教程

  • javascript初级视频教程 javascript初级视频教程
  • jquery 基础视频教程 jquery 基础视频教程
  • javascript三级联动视频教程 javascript三级联动视频教程
  • 独孤九贱(3)_JavaScript视频教程 独孤九贱(3)_JavaScript视频教程
  • 独孤九贱(6)_jQuery视频教程 独孤九贱(6)_jQuery视频教程
  • 热门教程