时间控件联动,根据选择日期+7天

页面初始化时,获取当前时间,设置开始时间、结束时间的最大值、最小值。
当用户选择开始时间后,触发change事件,获取用户选择的时间+7,设置结束时间的最大值,最小值

其中方法FormatDate 是使用其他博主的 然而我已经忘了是用的哪位的了。。。sorry。。。看到的话 请联系我 我给加上跳转链接

题外话:我用的时间控件是 唯独在最重要的移动端微信浏览器上没达到预期效果(手动微笑)

完整代码如下

    var minday = new Date();	//获取当前时间
    var maxday = new Date(minday.getTime()+604800000);  //毫秒计算:7*24*60*60*1000

    minday = FormatDate(minday.getTime());
    maxday = FormatDate(maxday.getTime());
    //设置开始时间最小值为当日,最大值为当日+7
    $("#startTime").attr("min",minday);
    $("#startTime").attr("max",maxday);
    //设置结束时间最小值为当日,最大值为当日+7
    $("#endTime").attr("min",minday);
    $("#endTime").attr("max",maxday);

    //开始时间状态改变时间
    $("#startTime").change(function(){
        var startday=new Date($(this).val());            //获取用户选择的开始时间
        startday.setDate(startday.getDate()+7);             //开始时间+7天
        startday=FormatDate(startday);                      //时间转换为YYYY-MM-DD格式

        $("#endTime").attr("max",startday); //最大时间为开始时间+7天
        $("#endTime").attr("min",$(this).val()); //最小时间为用户选择的开始时间
    });
    
    //转换时间类型为 yyyy-mm-dd
    function FormatDate (strTime) {
        var date = new Date(strTime);
        var formatedMonth = ("0" + (date.getMonth() + 1)).slice(-2);
        var formatedDate = ("0" + (date.getDate())).slice(-2);
        return date.getFullYear()+"-"+formatedMonth+"-"+formatedDate;
    }

猜你喜欢

转载自blog.csdn.net/User_Lily/article/details/92972166
今日推荐