只允许在同一个月内选择,并且不能超过当天日期

    var timeobj   = {};
    timeobj.max   = ''; //  用于记录,结束框,最大值
    timeobj.min   = ''; // 用于记录,结束框,最小值
    timeobj.stime = ''; //用于记录开始的时间
    timeobj.etime = '';//开始时间,最大限度为当天,该值初始化后,不可修改

    /**
     * 出入年月日,返回该月份的最后一天
     * @param time
     * @returns {string}
     * @constructor
     */
    function TimeInit(time) {
        var TimeArr = time.split('-');
        if (TimeArr[1] == 2) {
            TimeArr[2] = ((parseInt(TimeArr[0]) % 4 == 0 && n % 100 != 0) || (parseInt(TimeArr[0]) % 100 == 0 && parseInt(TimeArr[0]) % 400 == 0)) ? "29" : "28"
        } else if (TimeArr[1] <= 7) {
            TimeArr[2] = parseInt(TimeArr[1]) % 2 == 1 ? "31" : "30";
        } else {
            TimeArr[2] = parseInt(TimeArr[1]) % 2 == 1 ? "30" : "31";
        }
        return TimeArr.join('-');
    }

    $(function () {
        // 默认显示本月初,至今日
        Hsjcs.ChooseTime({
            'type'    : 'ToDay',
            'callback': function (data) {
                var s         = data.StartTime.split('-');
                s[2]          = '01';
                timeobj.min   = s.join('-');
                timeobj.max   = data.StartTime;
                timeobj.stime = s.join('-');
                timeobj.etime = data.StartTime;
                timeobj.etimeUTC = data.UTC_StartTime;
                $('#OM_s').val(s.join('-'));
                $('#OM_e').val(data.StartTime);
            }
        });
        // 开始时间段激活
        $("#OM_s").click(function () {
            var obj = {
                elem      : '#OM_s'
                ,
                show      : true //直接显示
                ,
                closeStop : '#OM_s' //这里代表的意思是:点击 test1 所在元素阻止关闭事件冒泡。如果不设定,则无法弹出控件
                ,
                showBottom: false
                ,
                done      : function (value, date) {
                    var a = timeobj.stime.split('-');
                    a[2]  = '01';
                    var b = value.split('-');
                    b[2]  = '01';
                    // 判断是否与默认值为同一个月份
                    if (a.join('-') != b.join('-')) {
                        // 转换时间戳
                        var c = value.split('-');
                        c = (Date.UTC(c[0], (c[1] - 1), c[2], 0, 0, 0) / 1000) - 28800;
                        // 判断是否等于今日
                        if (c == timeobj.etimeUTC) {
                            // 结束切换为今日
                            $("#OM_e").val(timeobj.etime);
                            // 保存,结束时间的最大值
                            timeobj.max = timeobj.etime;
                        } else {
                            var a = value.split('-');
                            a[2]  = '01';
                            var b = timeobj.etime.split('-');
                            b[2]  = '01';
                            // 判断是否与今日为同一个年月
                            if (a.join('-') == b.join('-')) {
                                // 结束切换为今日
                                $("#OM_e").val(timeobj.etime);
                                // 保存,结束时间的最大值
                                timeobj.max = timeobj.etime;
                            }else {
                                // 切换为当前月,最后一天
                                $("#OM_e").val(TimeInit(value));
                                // 保存,结束时间的最大值
                                timeobj.max = TimeInit(value);
                            }
                        }
                    }
                    // 保存选择的值
                    timeobj.stime = value;
                    // 保存,结束时间的最小值
                    timeobj.min   = value;
                    console.log('开始:'+value)
                }
            };
            // 开始时间,最大限度为当天
            obj.max = timeobj.etime;
            laydate.render(obj);
        });
        // 结束时间段激活
        $("#OM_e").click(function () {
            var obj = {
                elem      : '#OM_e'
                ,
                show      : true //直接显示
                ,
                closeStop : '#OM_e' //这里代表的意思是:点击 test1 所在元素阻止关闭事件冒泡。如果不设定,则无法弹出控件
                ,
                showBottom: false
                ,
                done      : function (value, date) {
                    console.log('结束:'+value);
                }
            };
            obj.min = timeobj.min;
            obj.max = timeobj.max;
            laydate.render(obj);
        });

转载于:https://my.oschina.net/u/3756690/blog/1826220

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值