侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

bootstrap双日历插件实例化

2024-05-09 星期四 / 0 评论 / 0 点赞 / 89 阅读 / 5002 字

网站中难免会用到日期选择插件,常见的有jquery的,也有bootstrap的.单日历的就不说了,实例化都比较简单.今天给大家介绍一下bootstrap的双日历插件. http://www.jq22.

网站中难免会用到日期选择插件,常见的有jquery的,也有bootstrap的.单日历的就不说了,实例化都比较简单.今天给大家介绍一下bootstrap的双日历插件.

http://www.jq22.com/jquery-info1087     

这是双日历插件下载地址,demo里面有介绍需要引入那些js和css文件.

1.直接进入到js实例化部分:

  function timePicker(){    var option={        locale:{            fromLabel: '开始日期',            toLabel: '结束日期'        },        maxDate:new Date(new Date().getFullYear()+'-'+(new Date().getMonth()+1)+'-'+(new Date().getDate()+1)),//双日历允许最大的结束日期        opens:'left',//日历与输入框的对其方式,当前为右对齐        //maxDate:moment(),//设置成moment(),有一个bug,那就是不能选择今天(比如2016-7-21)        //dateLimit:{//起止时间允许的范围        //    days:30        //},        showDropdowns : true//这个属性可以实现下拉选择年份    };    $('#calenderAccount').daterangepicker(option);    setTimeout(function () {       17                 $('#calenderImg').click(function (e) {            if(e.stopPropagation()){                e.stopPropagation();            }else if(e.cancelBubble){                e.cancelBubble=true            }            $('#calenderAccount').trigger('click')        });        $('.clearInputTime').click(function () {//实现清空的功能            $('#calenderAccount').val('');            $('#startTime').val('');            $('#endTime').val('');            $('.cancelBtn ').trigger('click')        })    },400);}

2.由于配置参数里面并没有清空按钮,但是项目为了实现这一个功能,所以自己在源码里面添加了一行,增加了一个清空按钮:

var DRPTemplate = '<div class="daterangepicker dropdown-menu">' +         '<div class="ranges">' +         '<div class="range_inputs">' +         '<div class="daterangepicker_start_input">' +         '<label for="daterangepicker_start"></label>' +         '<input class="input-mini" type="text" name="daterangepicker_start" value="" disabled="disabled" />' +         '</div>' +         '<div class="daterangepicker_end_input">' +         '<label for="daterangepicker_end"></label>' +         '<input class="input-mini" type="text" name="daterangepicker_end" value="" disabled="disabled" />' +         '</div>' +         '<button class="applyBtn" disabled="disabled"></button>&nbsp;' +         '<button class="cancelBtn btnDone"></button>' +         '<button class="clearInputTime" style="float: right;margin-right: 10px">清空</button>' +         '</div>' +         '</div>' +         '<div class="clear"></div>' +         '<div class="calendar left"></div>' +         '<div class="calendar right"></div>' +         '</div>';

最终的效果如下图:

点击上方的input框,会弹出双日历选择器,选择了日期之后,需要点击确定,输入框内才会有值,如果需要清空输入框的值,只需要再次激活日历选择器,点击清空即可

更多详细参数请参考:

http://bootstrap-datepicker.readthedocs.io/en/latest/options.html

或者参考源码:daterangepicker.js里面的下列代码:

setOptions: function(options, callback) {            this.startDate = moment().startOf('day');            this.endDate = moment().endOf('day');            this.minDate = false;            this.maxDate = false;            this.dateLimit = false;            this.showDropdowns = false;            this.showWeekNumbers = false;            this.timePicker = false;            this.timePickerIncrement = 30;            this.timePicker12Hour = true;            this.singleDatePicker = false;            this.ranges = {};            this.opens = 'right';            if (this.element.hasClass('pull-right'))                this.opens = 'left';            this.buttonClasses = ['btn', 'btn-small'];            this.applyClass = 'btn-success';            this.cancelClass = 'btn-default';            this.format = 'YYYY-MM-DD';            this.separator = ' - ';            this.locale = {                applyLabel: '确定',                cancelLabel: '取消',                fromLabel: '从',                toLabel: '到',                weekLabel: 'W',                customRangeLabel: 'Custom Range',                daysOfWeek: moment()._lang._weekdaysMin.slice(),                monthNames: moment()._lang._monthsShort.slice(),                firstDay: 0            };

 

广告 广告

评论区