效果:

layui日历控件添加自定义时间筛选

 

 

 

结构:

layui日历控件添加自定义时间筛选

样式:

layui日历控件添加自定义时间筛选

引入:

layui日历控件添加自定义时间筛选

js:(rqs:开始日期、rqz:结束日期)

  var dateList = [{

            "name":"昨日",

            "rqs":moment().add('-1','days').format('YYYY-MM-DD'),

            "rqz":moment().add('-1','days').format('YYYY-MM-DD')

        },{

            "name":"本周",

            "rqs":moment().subtract(moment().format('E') -1 , 'days').format('YYYY-MM-DD'),

            "rqz":moment().format('YYYY-MM-DD')

        },{

            "name":"本月",

            "rqs":moment().format('YYYY-MM') + '-01',

            "rqz":moment().format('YYYY-MM-DD')

        },{

            "name":"今年",

            "rqs":moment().format('YYYY') + '-01-01',

            "rqz":moment().format('YYYY-MM-DD')

        },{

            "name":"近7天",

            "rqs":moment().add('-6','days').format('YYYY-MM-DD'),

            "rqz":moment().format('YYYY-MM-DD')

        },{

            "name":"近1月",

            "rqs":moment().add('-1','months').format('YYYY-MM-DD'),

            "rqz":moment().format('YYYY-MM-DD')

        },{

            "name":"近1年",

            "rqs":moment().add('-1','year').format('YYYY-MM-DD'),

            "rqz":moment().format('YYYY-MM-DD')

        },

        {

            "name":"后2月",

            "rqs":moment().format('YYYY-MM-DD'),

            "rqz":moment().add('2','months').format('YYYY-MM-DD')

        }

 

        // {

        //     "name":"下一周",

        //     "rqs":moment().subtract(moment().format('E') -1 , 'days').add('7','days').format('YYYY-MM-DD'),

        //     "rqz":moment().subtract(moment().format('E') -1 , 'days').add('13','days').format('YYYY-MM-DD')

        // }

        // {

        //     "name":"本周后",

        //     "rqs":moment().format('YYYY-MM-DD'),

        //     "rqz":moment().subtract(7 - moment().format('E'), 'days').format('YYYY-MM-DD')

        // }

        ]

        var index = 2;//修改默认选项只需要改数组索引

        var rqs = dateList[index].rqs;

        var rqz = dateList[index].rqz;

        $("#jsDate").val(rqs + ' - ' + rqz);

        var $html = "<div class='laydate-custom' id='laydateCustom'></div>";

        var $spanHtml = ""                

        if(dateList && dateList.length>0){

            for(var i=0; i< dateList.length; i++){

                $spanHtml += "<span class='jsCustomBtn' data-rqs='"+ dateList[i].rqs +"' data-rqz='"+ dateList[i].rqz +"'>"+ dateList[i].name +"</span>"

            }

        }                

        // 年月日范围

        laydate.render({

            elem: '#jsDate', //指定元素

            range: true,

            // btns:[],

            ready: function(date){

                $('.layui-laydate-footer').append($html);

                $('#laydateCustom').html($spanHtml);

                $('#laydateCustom .jsCustomBtn').eq(index).addClass('active').siblings('.jsCustomBtn').removeClass('active');

                $('#laydateCustom').on('click','.jsCustomBtn',function(){

                    index = $(this).index();

                    rqs = $(this).attr('data-rqs') || '';

                    rqz = $(this).attr('data-rqz') || '';

                    $("#jsDate").val(rqs + ' - ' + rqz);

                    $("#layui-laydate1").remove();

                })

            }

        });

       

相关文章: