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]