zoukankan      html  css  js  c++  java
  • bootstrap之daterangepicker---汉化以及扩展

    一、扩展的功能

         1、初始化时,会自动创建一个select标签;

         2、当改变select值时,日期也会自动改变,并且会调用apply按钮的click事件

         3、点击此处进行预览

         4、github地址:https://github.com/lanleiming/daterangepicker-extend

    二、效果展示

         

    三、使用方法

    1、替换掉原先的 daterangepicker.js 文件。
    2、调用方法和原先一样。 $('#config-demo').daterangepicker();

    四、代码实现

     1  /* 扩展该组件:增加一个select  */
     2         var _this = this;
     3 
     4         var selectItem = '<select id="dateranepicker_select" class="form-control width150 inline-block">';
     5         selectItem += '<option>今日</option>';
     6         selectItem += '<option>昨日</option>';
     7         selectItem += '<option selected="selected">最近7日</option>';
     8         selectItem += '<option>最近15日</option>';
     9         selectItem += '<option>最近30日</option>';
    10         selectItem += '<option>本月</option>';
    11         selectItem += '<option>上月</option>';
    12         selectItem += '</select>';
    13 
    14         this.element.parent().append(selectItem);
    15 
    16         $(document).on('change','#dateranepicker_select',function(){
    17 
    18             function auto0(num){
    19                 return num>10?num:'0'+num;
    20             }
    21 
    22             var val = $(this).val();
    23             var c_start_date = new Date();
    24             var c_end_date = new Date();
    25             if(val=='今日'){
    26 
    27             }
    28             else if(val=='昨日'){
    29                 c_start_date.setDate(c_start_date.getDate()-1);
    30                 c_end_date.setDate(c_end_date.getDate()-1);
    31             }
    32             else if(val=='最近7日'){
    33                 c_start_date.setDate(c_start_date.getDate()-7);
    34                 c_end_date.setDate(c_end_date.getDate()-1);
    35             }
    36             else if(val=='最近15日'){
    37                 c_start_date.setDate(c_start_date.getDate()-15);
    38                 c_end_date.setDate(c_end_date.getDate()-1);
    39             }
    40             else if(val=='最近30日'){
    41                 c_start_date.setDate(c_start_date.getDate()-30);
    42                 c_end_date.setDate(c_end_date.getDate()-1);
    43             }
    44             else if(val=='本月'){
    45                 var cyear = c_start_date.getFullYear();
    46                 var cmonth = c_start_date.getMonth();
    47 
    48                 c_start_date = new Date(cyear,cmonth,1);
    49                 c_end_date  =new Date(cyear+'-'+ (cmonth+1) +'-'+new Date(cyear,cmonth+1,0).getDate());
    50 
    51             }
    52             else if(val=='上月'){
    53                 var cyear = c_start_date.getFullYear();
    54                 var cmonth = c_start_date.getMonth()-1;
    55                 c_start_date = new Date(cyear,cmonth,1);
    56                 c_end_date  =new Date(cyear+'-'+ (cmonth+1) +'-'+new Date(cyear,cmonth+1,0).getDate());
    57             }
    58             _this.setStartDate(c_start_date);
    59             _this.setEndDate(c_end_date);
    60 
    61             timespanStr =auto0(c_start_date.getMonth()+1)+'/'+ auto0(c_start_date.getDate()) + '/'+c_start_date.getFullYear()+'-'+ auto0(c_end_date.getMonth()+1) + '/' +auto0(c_end_date.getDate()) + '/' +c_end_date.getFullYear();
    62 
    63             _this.element.val(timespanStr);
    64             _this.hide();
    65             _this.element.trigger('apply.daterangepicker', _this);
    66             /* 扩展该组件 end  */
    67 
    68 
    69 
    70         });

     

     

     

  • 相关阅读:
    Java实战之03Spring-01Spring概述
    Java实战之02Hibernate-08二级缓存
    Java实战之02Hibernate-07与效率性能相关配置
    css3 移入移出动画
    ng2 搭建本地开发环境
    ng2模板语法/内置指令速查表
    node + npm 命令
    什么是作用域?什么是上下文?浅解
    get? post? put? delete? head? trace? options? http请求方法
    什么是http?
  • 原文地址:https://www.cnblogs.com/lanleiming/p/7010360.html
Copyright © 2011-2022 走看看