laydate type=time/datetime/date 开始时间和结束时间的输入限制

最近项目中使用了laydate插件,须要限制开始时间和结束时间的输入css

1.type=date

要求:周期开始时间和周期结束时间以天为单位,结束时间不能早于开始时间,能够是同一天。html

周期开始时间:<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=datetimeui

要求:开始时间早于结束时间,且不能相同spa

开始时间:<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。

 

原文出处:https://www.cnblogs.com/yingDaisy/p/10944858.htmlorm

相关文章
相关标签/搜索