layui日期选择框 自定义获取周区间

摘要:
layui上的日期选择控件非常丰富,基本可以满足我们的需求。它们也可以定制。我需要自定义设计,因为我想单击日期以自动获取日期的周范围--为ECharts准备一个具有大小(宽度和高度)的Dom--˃按周统计按月统计˃˂!

layui上的日期选择控件十分丰富,基本能满足我们的需要,也可以自定义制作,我因为要设计点击日期自动获取该日期的周区间,所以需要自定义设计。

如图:

layui日期选择框 自定义获取周区间第1张

随机选择一个日期,点击确定

layui日期选择框 自定义获取周区间第2张

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <link rel="stylesheet" href="layui/css/layui.css" media="all">
        <script type="text/javascript" src="layui/layui.js" ></script>
        <script src="js/jquery.min.js"></script>
    </head>
    <body>
        <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div class="layui-fluid main">
        <div class="layui-row">
            <div class="layui-tab layui-tab-brief">
                
                <div class="layui-tab-content">
                    <div class="layui-tab-item layui-show layui-form">
                        <div class="product-list-filter">
                            <form action="" method="post">
                                
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <select name="type" id="type" lay-filter="filter0">
                                             <option value="week" selected="selected">按照周统计</option>
                                             <option value="month" >按照月统计</option>
                                        </select>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-inline">
                                        <input type="text" id="date1" name="date1" lay-verify="date1" class="layui-input test-item" readonly="readonly" style="200px;" value=""/>
                                        <input type="text" id="date2" name="date2" lay-verify="date2" class="layui-input test-item" style="200px;" value=""/>
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <div class="layui-input-inline"><input type="button" class="layui-btn wy-btn" onclick="submit001()" value="搜索"/></div>
                                    <!--  <div class="layui-input-inline"><input type="button"   onclick="tongji()" value="开发统计"/></div>  -->
                                </div>
                            </form>
                        </div><!--product-list-filter-->
                        
                    </div>
                </div>
            </div><!--layui-tab-->         
        </div><!--layui-row-->
    </div><!--main-->
    </body>
    <script>
        layui.use(['form','laydate'], function(){
        var form = layui.form,
            layer = layui.layer;
        var laydate = layui.laydate;
        
        //时间选择器
        laydate.render({
          elem: '#date1',
          format: "yyyy-MM-dd~yyyy-MM-dd",
          btns: ['clear', 'now'],
          trigger: 'click',
          done: function(value, date, endDate){
              if(value!="" && value.length>0){
                   var today=new Date(value.substring(0,10));
                  var weekday=today.getDay(); 
                  var monday;  
                  var sunday;
                  if (weekday==0) {
                     monday=new Date(1000*60*60*24*(weekday-6) + today.getTime());
                  }  else {
                      monday=new Date(1000*60*60*24*(1-weekday) + today.getTime());
                  }
                  if (weekday==0) {
                     sunday=today;
                  }  else {
                     sunday=new Date(1000*60*60*24*(7-weekday) + today.getTime());
                  }
                  var month = monday.getMonth()+1;
                  if(month<10)
                  {
                      month = "0"+month;
                  }
                  var day1 = monday.getDate();
                  if(day1<10)
                  {
                      day1 = "0"+day1;
                  }
                  var start = ""+monday.getFullYear()+"-"+month+"-"+day1;
                  var month2 = sunday.getMonth()+1;
                  if(month2<10)
                  {
                      month2 = "0"+month2;
                  }
                  var day2 = sunday.getDate();
                  if(day2<10)
                  {
                      day2 = "0" + day2;
                  }
                  var end = ""+sunday.getFullYear()+"-"+month2+"-"+day2;
                  $("#date1").val(start+"~"+end);
              }else{
                   $("#date1").val('');
              }
                   
            }
        });
        //时间选择器
        laydate.render({
          elem: '#date2',
          type: 'month'
        });
            
        form.on('select(filter0)', function(data){
            $("#date1").val("");
            $("#date2").val("");
            var type = $("#type option:selected").val();
            if(type=="week")
            {
                $("#date1").show();
                $("#date2").hide();
            }
            else
            {
                $("#date1").hide();
                $("#date2").show();
            }
        });
        $(document).ready(function(){
        
            $("#date1").show();
            $("#date2").hide();
        
    });
    });
    //提交搜索的点击事件,将时间拼接一下
    function submit001()
    {
        
        var type = $("#type option:selected").val();
        var date = "";
        if(type=="week")
        {
            date = $("#date1").val();
            alert(date)
        }
        else
        {
            date = $("#date2").val();
            alert(date)
        }
        if(date=="")
        {
            errTips('请选择查询的日期!');
        }
    }    
    </script>
</html>

免责声明:文章转载自《layui日期选择框 自定义获取周区间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQLServer查看分区表详细信息nginx recv() failed (104: Connection reset by peer) while reading response header from upstream解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

java把一段时间分成周,月,季度,年的时间段

package com.mq.test.activeMQ; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date;...

php时间戳和日期转换,以及时间戳和星期转换

$this->created_at为时间戳值,转换日期如下 date('m.d',$this->created_at) :  y 代表年的后两位如 17 ,Y 代表 2017  , m 代表数字月,M 代表英文月 ,d代表日,D代表星期 (英文的) 想要显示中文星期,则要:  $weeks =['周一','周二','周三','周四','周五',...

R语言从经济时间序列中用HP滤波器,小波滤波和经验模式分解等提取周期性成分分析

原文链接:http://tecdat.cn/?p=9350 经济时间序列的分析通常需要提取其周期性成分。这篇文章介绍了一些方法,可用于将时间序列分解为它们的不同部分。它基于《宏观经济学手册》中Stock和Watson(1999)关于商业周期的章节,但也介绍了一些较新的方法,例如汉密尔顿(2018)替代HP滤波器,小波滤波和经验模式分解。 数据 我使用从...

SpringBoot全局时间date和localDateTime格式失效问题记录

一、出参处理springBoot项目中使用注解@ResponseBody或者@RestController默认使用Json格式返回数据。默认返回的格式是这样的"2021-04-28T07:01:45.000+00:00",如下 我们可能想要返回给前端是yyyy-MM-dd HH:mm:ss 这样的格式全局配置若此配置无效,返回的时间还是上面那种中间带‘T’...

webService 服务端搭建

  首先,下载CXF,官网(http://cxf.apache.org/),具体位置如下图:      解压后,得到以下目录   下面,我们开始建立工程,在新建的工程lib目录下复制上述lib中的所有文件,特别是endorsed文件夹也要原样复制。 1        WebService的服务器端 1)      创建工程   在eclipse/myEcl...

ubuntu 18.04, 编译运行ORB_SLAM3, 遇到错误Pangolin X11: Unable to retrieve framebuffer options。

当前问题 遇到错误Pangolin X11: Unable to retrieve framebuffer options。操作系统是ubuntu 18.04,物理机,不是虚拟机. 按报错Pangolin X11: Unable to retrieve framebuffer options ,修改components/pango_windowing/sr...