zoukankan      html  css  js  c++  java
  • EasyUI限制时间选择(开始时间小于结束时间)

    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;
                    }
                });
            }
        });
    }
    

    备注:

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

  • 相关阅读:
    hadoop中常见的问题
    RedHat中敲sh-copy-id命令报错:-bash: ssh-copy-id: command not found
    【POJ2411】Mondriaan's Dream(轮廓线DP)
    【CF248E】Piglet's Birthday(动态规划)
    【BZOJ2655】Calc(拉格朗日插值,动态规划)
    【Luogu4781】【模板】拉格朗日插值
    【CF995F】Cowmpany Cowmpensation(动态规划,拉格朗日插值)
    拉格朗日插值公式
    求集合中选一个数与当前值进行位运算的max
    【HDU4471】Homework(矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/halfsaltedfish/p/13232136.html
Copyright © 2011-2022 走看看