JQuery EasyUI 扩展方法 日期控件 设置时间段函数

/** Jquery扩展方法--by hgx 2018年1月8日--
* 设置时间段函数,开始时间(1号)与结束时间(当前日期)
* 传入参数:--spaceMonth:查询间隔月,1为间隔查询一个月;
*           --addDay:设置结束时间,0为当前日期;
*           --isTime:是否返回日期中带有时间字符串;
* 返回值:arr[0] 开始时间;arr[1] 结束时间
* 调用方法:var arr = $("#TimeStart,#TimeEnd").GetDateStartEndStr(1, -1, true);
* 调用方法:var arr = $("#TimeStart,#TimeEnd").SetDateTimeStartEndStr(1, 0);
**/
(function ($) {
    //easyui-datebox
    $.fn.SetDateStartEndStr = function (spaceMonth, addDay, isTime) {
        var arr = Array(2);
        var obj = $(this);
        //$.parser.parse('#' + obj[0].id);
        //$.parser.parse('#' + obj[1].id);
        var dd = new Date();
        dd.setDate(dd.getDate() + addDay);
        var y = dd.getFullYear();
        var m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var d = dd.getDate();
        d = (d < 10 ? '0' : '') + d;
        var enddate = y + "-" + m + "-" + d;
        arr[1] = enddate;
        if (isTime) {
            arr[1] = enddate + " 23:59:59";
        }
        $(obj[1]).datebox("setValue", enddate);
        $(obj[1]).datebox({
            onChange: function (value) {
                arr[1] = value;
                if (isTime) {
                    arr[1] = value + " 23:59:59";
                }
                if (value > enddate) {
                    arr[1] = enddate;
                    if (isTime) {
                        arr[1] = enddate + " 23:59:59";
                    }
                    var obj = $(this);
                    setTimeout(function () {
                        obj.datebox("setValue", enddate);
                    }, 100);
                }
                return arr;
            }
        });
        dd.setMonth(dd.getMonth() + 1 + (spaceMonth * -1));
        y = dd.getFullYear();
        m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var startdate = y + "-" + m + "-01";
        arr[0] = startdate;
        if (isTime) {
            arr[0] = startdate + " 00:00:00";
        }
        $(obj[0]).datebox("setValue", startdate);
        $(obj[0]).datebox({
            onChange: function (value) {
                arr[0] = value;
                if (isTime) {
                    arr[0] = value + " 00:00:00";
                }
                return arr;
            }
        });
        return arr;
    }
    //easyui-datetimebox
    $.fn.SetDateTimeStartEndStr = function (spaceMonth, addDay) {
        var arr = Array(2);
        var obj = $(this);
        //$.parser.parse('#' + obj[0].id);
        //$.parser.parse('#' + obj[1].id);
        var dd = new Date();
        dd.setDate(dd.getDate() + addDay);
        var y = dd.getFullYear();
        var m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var d = dd.getDate();
        d = (d < 10 ? '0' : '') + d;
        var enddate = y + "-" + m + "-" + d + " 23:59:59";
        arr[1] = enddate;
        $(obj[1]).datebox("setValue", enddate);

        $(obj[1]).datebox({
            onChange: function (value) {
                arr[1] = value;
                if (value > enddate) {
                    arr[1] = enddate;
                    var obj = $(this);
                    setTimeout(function () {
                        obj.datebox("setValue", enddate);
                    }, 100);
                }
                return arr;
            }
        });
        dd.setMonth(dd.getMonth() + 1 + (spaceMonth * -1));
        y = dd.getFullYear();
        m = dd.getMonth() + 1;
        m = (m < 10 ? '0' : '') + m;
        var startdate = y + "-" + m + "-01" + " 00:00:00";
        arr[0] = startdate;
        $(obj[0]).datebox("setValue", startdate);
        $(obj[0]).datebox({
            onChange: function (value) {
                arr[0] = value;
                return arr;
            }
        });
        return arr;
    }
})(jQuery)

 

 调用实例:

    <tr>
            <td style="text-align:right">时间范围</td>
            <td>
                <input id="MTimeStart" class="easyui-datetimebox" value="" style="width:135px" />
                <input id="MTimeEnd"  class="easyui-datetimebox" value="" style="width:135px" />
            </td>
        </tr>
<script type="text/javascript">
    var MTime;
    $(function () {
        MTime = $("#MTimeStart,#MTimeEnd").SetDateTimeStartEndStr(-1, 0);
        console.log(MTime);
    });
</script>

获取开始日期: MTime[0]

获取结束日期:MTime[1]

posted @ 2018-01-08 17:02  hg一如既往  阅读(1463)  评论(0编辑  收藏  举报