码迷,mamicode.com
首页 > 其他好文 > 详细

EasyUI限制时间选择(开始时间小于结束时间)

时间:2020-07-14 18:36:28      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:开始   问题   new   next   方法   validate   returns   ram   get   

datebox限制时间选择

对datebox可选择日期进行限制,目前感觉使用起来效果很好,不可选择的日期置灰不可点击

1. 限制开始时间小于结束时间

//using
limitStartDateAndEndDate($("#DateStart"), $("#DateEnd"));

/**
 * 限制开始时间小于结束时间
 * @param {开始时间对象} startDateObj 
 * @param {结束时间对象} endDateObj 
 * @returns {} 
 */
function limitStartDateAndEndDate(startDateObj,endDateObj) {
    startDateObj.next().click(function () {
        if (endDateObj.datebox("getValue") !== "") {
            startDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    var dateEnd = endDateObj.datebox("getValue");
                    var dateTimeEnd = new Date(dateEnd);
                    var validateTime = new Date(dateTimeEnd.getFullYear(), dateTimeEnd.getMonth(), dateTimeEnd.getDate());
                    return date <= validateTime;
                }
            });
        } else {
            startDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    return date;
                }
            });
        }
    });

    endDateObj.next().click(function () {
        if (startDateObj.datebox("getValue") !== "") {
            endDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    var dateStart = startDateObj.datebox("getValue");
                    var dateTimeStart = new Date(dateStart);
                    var validateTime = new Date(dateTimeStart.getFullYear(), dateTimeStart.getMonth(), dateTimeStart.getDate());
                    return date >= validateTime;
                }
            });
        } else {
            endDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    return date;
                }
            });
        }
    });
}

2. 限制开始时间小于指定时间

/**
 * 限制开始时间小于指定时间
 * 限制时间为containLimitStartDateObj.limitEndDate
 * @param {开始时间对象} startDateObj 
 * @param {包含限制时间的对象} containLimitEndDateObj 
 * @returns {} 
 */
function limitStartDateBeforeDate(startDateObj, containLimitEndDateObj) {
    startDateObj.next().click(function () {
        if (containLimitEndDateObj.limitEndDate !== "") {
            startDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    var dateTimeEnd = new Date(containLimitEndDateObj.limitEndDate);
                    var validateTime = new Date(dateTimeEnd.getFullYear(), dateTimeEnd.getMonth(), dateTimeEnd.getDate());
                    return date <= validateTime;
                }
            });
        } else {
            startDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    return date;
                }
            });
        }
    });
}

3. 限制结束时间大于指定时间

/**
 * 限制结束时间大于指定时间
 * 限制时间为containLimitStartDateObj.limitStartDate
 * @param {包含限制时间的对象} containLimitStartDateObj 
 * @param {结束时间对象} endDateObj 
 * @returns {} 
 */
function limitEndDateAfterDate(containLimitStartDateObj, endDateObj) {
    endDateObj.next().click(function () {
        if (containLimitStartDateObj.limitStartDate !== "") {
            endDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    var dateTimeStart = new Date(containLimitStartDateObj.limitStartDate);
                    var validateTime = new Date(dateTimeStart.getFullYear(), dateTimeStart.getMonth(), dateTimeStart.getDate());
                    return date >= validateTime;
                }
            });
        } else {
            endDateObj.datebox("calendar").calendar({
                validator: function (date) {
                    return date;
                }
            });
        }
    });
}

备注:

最后两个方法使用了对象进行了一次包裹,具体原因忘记了,因为直接传递时间字符串是有问题的,可能是由于值传递和引用传递的问题。

EasyUI限制时间选择(开始时间小于结束时间)

标签:开始   问题   new   next   方法   validate   returns   ram   get   

原文地址:https://www.cnblogs.com/halfsaltedfish/p/13232136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!