日期选择框datetimepicker选择固定月份日期

本人所用时间选择框是基于bootstrap框架,实现功能限制是,后台传入页面一个固定月份,前端只让选择本月份的日期,日期格式为:年、月、日

需要引入的包:

bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css
bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js
bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js

HTML代码:

后台传入的月份隐藏域(格式只包括年、月)

<input type="hidden" name="period" id="period" value="${period}"/>

时间框代码:

<label class="col-sm-1 control-label no-padding-right">时间:</label>
            <div class="col-sm-2 no-padding-left input-append date">
                <span class="block input-icon input-icon-right">
                <input class="form_datetime_2 form-control" id="StartTime" name="StartTime" value="${StartTime}"/>
                <i class="icon-calendar "></i>
                </span>
            </div>
            <div class="col-sm-1 no-padding">
                <div style="text-align: center;padding-top:3%">至</div>
            </div>
            <div class="input-append date  col-sm-2 ">
                <span class="block input-icon input-icon-right">
                <input class="form_datetime_2 form-control" id="EndTime" name="EndTime" value="${EndTime}"/>
                <i class="icon-calendar"></i>
                </span>
            </div>


JS代码:

var detailStartTime = $("#period").val() + "-01";
    var detailEndTime;
    var periodY = parseInt($("#period").val().substring(0,3));
    var periodM = parseInt($("#period").val().substring(5));
    if(periodY%4 == 0 && periodM == 2){
        if(periodY%100 == 0 && periodY%400 != 0){
            detailEndTime = $("#period").val() + "-28";
        }else{
            detailEndTime = $("#period").val() + "-29";
        }
    }
    if(periodY%4 != 0 && periodM == 2){
        detailEndTime = $("#period").val() + "-28";
    }
    if(periodM == 1 || periodM == 3 || periodM == 5 || periodM == 7 || periodM == 8 || periodM == 10 || periodM == 12){
        detailEndTime = $("#period").val() + "-31";
    }
    if(periodM == 4 || periodM == 6 || periodM == 9 || periodM == 11){
        detailEndTime = $("#period").val() + "-30";
    }

    var startTime = $("#StartTime");
    var endTime = $("#EndTime");
    startTime.datetimepicker({
        language: 'zh-CN',
        format: 'yyyy-mm-dd',
        autoclose: true,
        todayBtn: true,
        startView: 'month',
        minView: 'month',
        startDate:detailStartTime,
        endDate:detailEndTime
    }).on('changeDate',function () {
        var start = $(this).val();
        var end = endTime.val();
        checkTime(start,end);
    });
    endTime.datetimepicker({
        language: 'zh-CN',
        format: 'yyyy-mm-dd',
        autoclose: true,
        todayBtn: true,
        startView: 'month',
        minView: 'month',
        startDate:detailStartTime,
        endDate:detailEndTime
    }).on('changeDate',function () {
        var start = startTime.val();
        var end = $(this).val();
        checkTime(start,end);
    });

    function checkTime(startTime,endTime) {
        var start = startTime.split('-').join('').toString();
        var end = endTime.split('-').join('').toString();
        if(end && start > end){
            alert("开始时间大于结束时间");
        }
    }


效果图:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值