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