Require Date:
<input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser,onSelect:selectStartDate" style="width: 110px" id="StartTime">
To       :
<input class="easyui-datebox" data-options="formatter:myformatter,parser:myparser,onSelect:selectEndDate" style="width: 110px" id="EndTime">
$(function () {

bindDateBlur($("#StartTime"));
bindDateBlur($("#EndTime"));

//控件的初始限制
$('#EndTime').datebox().datebox('calendar').calendar({
validator: function (endDate) {
return endDate <= new Date();
}
});
$('#StartTime').datebox().datebox('calendar').calendar({
validator: function (startDate) {
return startDate <= new Date();
}
});
})

 
//easyui官方重写时间格式的方法
function myformatter(date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
return y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d);
}
function myparser(s) {
if (!s) return new Date();
var ss = (s.split('-'));
var y = parseInt(ss[0], 10);
var m = parseInt(ss[1], 10);
var d = parseInt(ss[2], 10);
if (!isNaN(y) && !isNaN(m) && !isNaN(d)) {
return new Date(y, m - 1, d);
} else {
return new Date();
}
} //当选择开始日期时限定结束日期的范围
function selectStartDate(startDate) {
//返回calendar会清空EndTime内容,需要保存下
var tempEndDate = $('#EndTime').datebox('getValue')
$('#EndTime').datebox().datebox('calendar').calendar({
validator: function (endDate) {
//限定日期选择范围
return endDate >= startDate && endDate <= new Date();
}
});
//将EndTime写回去
$('#EndTime').datebox('setValue', tempEndDate);
}
//当选择结束日期时限定开始日期的范围
function selectEndDate(endDate) {
var tempStartDate = $('#StartTime').datebox('getValue');
$('#StartTime').datebox().datebox('calendar').calendar({
validator: function (startDate) {
return startDate <= endDate && startDate <= new Date();
}
});
$('#StartTime').datebox('setValue', tempStartDate);
}
//datebox的绑定事件
function bindDateBlur(st) { st.datebox('textbox').bind('blur', function () {
var s = st.textbox('getText');
if (!s) return new Date();
var nt = s.replace(/\//g, '-');
s = (nt.split('-'));
var a = parseInt(s[0], 10);
var b = parseInt(s[1], 10);
var c = parseInt(s[2], 10);
var date = new Date();
if (!isNaN(a) && !isNaN(b) && !isNaN(c)) {
st.datebox('setValue', nt);
} else if (!isNaN(a) && !isNaN(b)) {
var y = date.getFullYear();
st.datebox('setValue', y + '-' + a + '-' + b);
} else {
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
st.datebox('setValue', y + '-' + (m < 10 ? ('0' + m) : m) + '-' + (d < 10 ? ('0' + d) : d));
}
});
}

最新文章

  1. oc-17-description
  2. 【rest】 深入理解rest
  3. 第18讲- UI常用组件之EditText
  4. MVC自定义分页
  5. Kotlin实现《第一行代码》案例“酷欧天气”
  6. Tomcat搭建Web 应用服务器
  7. Jupyter 同时支持python2, python3
  8. hashtable——散列表
  9. Hbase记录-HBase基本操作(二)
  10. spring boot 2.0(一)权威发布spring boot2.0
  11. mac OS 安装maven遇到问题e45: &#39;readonly&#39; option is set
  12. ubuntu16下的/etc/resolv.conf重置的解决方案
  13. mysql5.7忘记密码时,修改root密码
  14. grep命令与正则表达式
  15. POJ 1122.FDNY to the Rescue! Dijkstra
  16. vi 基础配置
  17. Linux服务器修改文件句柄数和用户最大进程数限制
  18. js学习笔记30----对象
  19. Hibernate学习6—Hibernate 映射类型
  20. Linux内核通知链机制的原理及实现【转】

热门文章

  1. pylot是一款开源的web性能测试工具
  2. 自适应滤波原理及simulink
  3. shell单引号中输出参数值
  4. 吴奇隆刘诗诗婚礼场地:巴厘岛Ayana酒店,美到窒息!
  5. iOS中常用的设计模式
  6. bootstrap-16
  7. help man info 三个的区别
  8. 采集数据和memchche的存储使用,分页展示
  9. rsync+inotify实现自动备份
  10. js前台加密,java后台解密实现