laydate type=time/datetime/date 开始时间和结束时间的输入限制
2024-08-30 04:36:16
最近项目中使用了laydate插件,需要限制开始时间和结束时间的输入
1.type=date
要求:周期开始时间和周期结束时间以天为单位,结束时间不能早于开始时间,可以是同一天。
周期开始时间:<input class="layui-input" type="text" id="CycleStartTime">
周期结束时间:<input class="layui-input" type="text" id="CycleEndTime">
var cycleStart = laydate.render({
elem: '#CycleStartTime'
,type: 'date'
,btns: ['confirm']
,done: function(value, date){
cycleEnd.config.min = getDateArray(date);
}
});
var cycleEnd = laydate.render({
elem: '#CycleEndTime'
,type: 'date'
,btns: ['confirm']
,done: function(value, date){
cycleStart.config.max = getDateArray(date);
}
});
function getDateArray(date){
var formatDate = {};
formatDate.year = date.year;
formatDate.month = date.month - 1;
formatDate.date = date.date;
return formatDate;
}
2.type=datetime
要求:开始时间早于结束时间,且不能相同
开始时间:<input class="layui-input" type="text" id="StartTime">
结束时间:<input class="layui-input" type="text" id="EndTime">
var editStart = laydate.render({
elem: '#StartTime'
,type: 'datetime'
,btns: ['confirm']
,done: function(value, date) {
editEnd.config.min = {
year: date.year,
month: date.month - 1,
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds + 1
};
if (date.seconds == 59) {
editEnd.config.min.minutes = date.minutes + 1;
editEnd.config.min.seconds = 0;
}
if (date.seconds == 59 && date.minutes == 59) {
editEnd.config.min.hours = date.hours + 1;
editEnd.config.min.minutes = 0;
editEnd.config.min.seconds = 0;
}
if (date.seconds == 59 && date.minutes == 59 && date.hours == 23) {
editEnd.config.min.date = date.date + 1;
editEnd.config.min.hours = 0;
editEnd.config.min.minutes = 0;
editEnd.config.min.seconds = 0;
}
}
});
var editEnd = laydate.render({
elem: '#EndTime'
,type: 'datetime'
,btns: ['confirm']
,done: function(value, date) {
editStart.config.max = {
year: date.year,
month: date.month - 1,
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds - 1
}
if (date.seconds == 0) {
editStart.config.max.minutes = date.minutes - 1;
editStart.config.max.seconds = 59;
}
if (date.seconds == 0 && date.minutes == 0) {
editStart.config.max.hours = date.hours - 1;
editStart.config.max.minutes = 59;
editStart.config.max.seconds = 59;
}
if (date.seconds == 0 && date.minutes == 0 && date.hours == 0) {
editStart.config.max.date = date.date - 1;
editStart.config.max.hours = 23;
editStart.config.max.minutes = 59;
editStart.config.max.seconds = 59;
}
}
});
说明:输入限制的情况下,必须去掉【清空】、【现在】按钮。
3.type=time
要求:开始时间早于结束时间,且不能相同
开始时间:<input class="layui-input" type="text" id="StartTime_add">
结束时间:<input class="layui-input" type="text" id="EndTime_add">
var addStart = laydate.render({
elem: '#StartTime_add'
,type: 'time'
,btns: ['confirm']
,done: function(value, date) {
addEnd.config.min = {
year: date.year,
month: date.month - 1,
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds + 1
};
if (date.seconds == 59) {
addEnd.config.min.minutes = date.minutes + 1;
addEnd.config.min.seconds = 0;
}
if (date.seconds == 59 && date.minutes == 59) {
addEnd.config.min.hours = date.hours + 1;
addEnd.config.min.minutes = 0;
addEnd.config.min.seconds = 0;
}
if (date.seconds == 59 && date.minutes == 59 && date.hours == 23) {
$('.laydate-footer-btns').css({
'cursor': 'not-allowed',
'color': '#d2d2d2'
});
alert('开始时间不允许选择23:59:59');
}
}
});
var addEnd = laydate.render({
elem: '#EndTime_add'
,type: 'time'
,btns: ['confirm']
,done: function(value, date) {
addStart.config.max = {
year: date.year,
month: date.month - 1,
date: date.date,
hours: date.hours,
minutes: date.minutes,
seconds: date.seconds - 1
}
if (date.seconds == 0) {
addStart.config.max.minutes = date.minutes - 1;
addStart.config.max.seconds = 59;
}
if (date.seconds == 0 && date.minutes == 0) {
addStart.config.max.hours = date.hours - 1;
addStart.config.max.minutes = 59;
addStart.config.max.seconds = 59;
}
if (date.seconds == 0 && date.minutes == 0 && date.hours == 0) {
$('.laydate-footer-btns').css({
'cursor': 'not-allowed',
'color': '#d2d2d2'
});
alert('结束时间不允许选择00:00:00');
}
}
});
说明:开始时间不允许选择23:59:59,结束时间不允许选择00:00:00。
最新文章
- Codeforces 710F String Set Quries
- float和double在内存中的存储方式
- Java并发编程核心方法与框架-Semaphore的使用
- [nowCoder] 局部最小值位置
- JQuery: 微博演示
- DLog 技巧
- Luci流程分析(openwrt下)
- 自己动手写RTP服务器——用RTP协议传输TS流
- CA Loves GCD
- LINQ to Sql系列一 增,删,改
- ueditor编辑器插件 chrome中图片上传框延时问题
- NSDateFormatter相关整理
- 携程Apollo(阿波罗)配置中心用户管理和部门管理
- 从零学习Fluter(三):Flutter的路由跳转以及state的生命周期
- 2019Java查漏补缺(二)
- jdk1.8.0_40 +maven+tomcat7.0+mysql8.0详细安装教程
- hdu 5724 Chess 博弈sg+状态压缩
- 这本小书的目的是引导你进入 React 和 Webpack 的世界。他们两个都是非常有用的技术,如果同时使用他们,前端开发会更加有趣。
- linux shell搜索某个字符串,然后在后面加上字符串?字符串后面插入字符串?sed字符串后面插入字符串?
- Tarjan-LCA算法小记