layui中laydate的使用——设置动态时间范围限制、重置时间范围(清空动态限制)

article/2025/9/17 2:49:01

如果使用layui插件,然后在时间设置上,有范围限制的需求时,可以直接使用range,这里主要讲,不用range,而是用两个独立的时间选项,如何做时间范围的控制!!!

 

目录

应用场景

需求分析

前端代码

js代码

注意事项:

最终实现:


应用场景

需求分析

  1. 发起时间的默认最大可选值为当前日期
  2. 发起时间从,的最大可选日期为,发起时间至选中的日期
  3. 发起时间至,的最小可选日期为,发起时间从选中的日期
  4. 单击重置时,发起时间从,发起时间至,的时间范围限制恢复为默认情况,即清空动态变化

比如:当前时间为2018.08.31,发起时间从,发起时间至,默认最大可选日期为2018.08.31,如果发起时间从,选择了2018.08.29,那么发起时间至,可选范围变成29号到31号;如果发起时间至选择了27号,那发起时间从的可选最大值不再是31号,而是变成27号

前端代码

<form id="sch-form" class="layui-form layui-form-pane" lay-filter="sch-form" onsubmit="return false;">
<div class="layui-inline"><label class="layui-form-label">发起时间从</label><div class="layui-input-block"><input name="beginTimeFrom" type="text" autocomplete="off" id="startTime" class="layui-input laydate"></div>
</div>
<div class="layui-inline"><label class="layui-form-label">发起时间至</label><div class="layui-input-block"><input name="beginTimeTo" type="text" autocomplete="off" id="endTime" class="layui-input laydate"></div>
</div><div class="layui-btn-container" style="text-align: center;"><button class="layui-btn" lay-submit lay-filter="btn-sch" id="btn-sch" ><i class="icon-search"></i> 查询</button><button class="layui-btn layui-btn-primary" id="btn-resert"  ><i class="icon-undo"></i> 重置</button>
</div>
</form>

js代码

    //日期   var nowTime=new Date();    var startTime=laydate.render({elem:'#startTime',type:'datetime',btns: ['confirm'],max:'nowTime',//默认最大值为当前日期done:function(value,date){
//    		console.log(value); //得到日期生成的值,如:2017-08-18
//    	    console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}endTime.config.min={    	    		year:date.year,month:date.month-1,//关键date:date.date,hours:date.hours,minutes:date.minutes,seconds:date.seconds};}})var endTime=laydate.render({elem:'#endTime',type:'datetime',btns: ['confirm'],max:'nowTime',done:function(value,date){
//    		console.log(value); //得到日期生成的值,如:2017-08-18
//    	    console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}    	   startTime.config.max={year:date.year,month:date.month-1,//关键date:date.date,hours:date.hours,minutes:date.minutes,seconds:date.seconds}}})//重置$("#btn-resert").on("click",function(){$("#sch-form")[0].reset(); endTime.config.min='1900-1-1';startTime.config.max=endTime.config.max;})

注意事项:

  1. done回调函数中,month的设置必须-1,否则设置无效
  2. reset()方法,只能使input输入框清空,无法清空动态的时间限制
  3. startTime.config.max=‘nowTime’不起作用
  4. config.max或min方法中,可以根据实际需要选择是否对时分秒进行设置
  5. laydate默认的按钮为:清空、现在、确定,在这里要将清空、现在按钮取消,否则和时间范围限制冲突,且只能通过修改源码进行设置btns: ['confirm']只要确定按钮

最终实现:


http://chatgpt.dhexx.cn/article/bxCGl6FC.shtml

相关文章

layer之table用法

jsp页面 <% page language"java" contentType"text/html; charsetUTF-8" pageEncoding"UTF-8"%> <%taglib prefix"shiro" uri"http://shiro.apache.org/tags"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HT…

基于layui的laydate,在加载后台数据时laydate.render()不起作用。

1. 以前有过一次折磨的经历。第一时间没记起来。先看图 1.1 后台数据加载出来的效果 1.2 点击选择时间后弹出日期格式不合法 1.3 合法数据 2. 代码片段 <script type"text/javascript">var layData [ form, laydate ];layui.use(layData, function() {var lay…

使用Layui时间组件(laydate)

在一般的程序或者软件业务的操作上&#xff0c;通常涉及时间的记录&#xff0c;需要记录业务时间&#xff0c;或者根据时间来筛 选业务。 选择时间&#xff0c;可以直接输入&#xff0c;也可以弹出日期进行选择。 在layui中提供了&#xff0c;layDate日期时间模块&#xff0c; …

layer的基本参数和用法

基本参数 type - 基本层类型&#xff1a; 类型&#xff1a;Number,默认0 layer提供5种层类型&#xff0c;可传入的值有&#xff1a;0&#xff08;信息框&#xff0c;默认&#xff09;、1&#xff08;页面层&#xff09;、2&#xff08;ifream层&#xff09;、3&#xff08;加…

Layui的table数据渲染不显示是怎么回事?

&#x1f607;作者介绍&#xff1a;一个有梦想、有理想、有目标的&#xff0c;且渴望能够学有所成的追梦人。 &#x1f386;学习格言&#xff1a;不读书的人,思想就会停止。——狄德罗 ⛪️个人主页&#xff1a;进入博主主页 &#x1f5fc;推荐系列&#xff1a;点击进入推荐系列…

layui数据表格layui.table.render

通过一个简要的例子来介绍一下相关功能。主要我写项目中常用的属性和方法都介绍出来了&#xff0c;如果需要其他功能&#xff0c;可以看看官网。 页面 <table id"demo" lay-filter"demo_table_filter"></table><script> layui.use(tabl…

3. layui的layer的用法

1. 初始化layui组件 加载layui框架的项目包&#xff0c;一定要在文本就绪时间中初始化layui组件&#xff0c;否则可能导致多个组件无法使用。 2. mouse浮动展示信息提示框 &#xff08;layer提供的简洁的信息提示窗口&#xff0c;可以设置信息提醒&#xff0c;其中格式可遵循…

【数据结构与算法】图的深度优先和广度优先遍历

&#x1f60a;&#x1f60a;作者简介&#x1f60a;&#x1f60a; &#xff1a; 大家好&#xff0c;我是南瓜籽&#xff0c;一个在校大二学生&#xff0c;我将会持续分享Java相关知识。 &#x1f389;&#x1f389;个人主页&#x1f389;&#x1f389; &#xff1a; 南瓜籽的主页…

C++深度优先和广度优先的实现

C深度优先和广度优先的实现 前言源码如下&#xff1a;测试结果深度优先&#xff08;栈实现&#xff09;和广度优先&#xff08;队列实现&#xff09;图解 前言 本篇文章为笔者的读书笔记&#xff0c;未经允许请勿转载。如果对你有帮助记得点个赞(●’◡’●) 本文主要讲的深度优…

迷宫问题(maze problem)—— 深度优先与广度优先搜索求解

文章目录 1.问题简介2.求解方法3.深度优先搜索加回溯法3.1 求解第一条可行路径3.2 求解最短路径 4.广度优先搜索小结参考文献 1.问题简介 给定一个迷宫&#xff0c;指明起点和终点&#xff0c;找出从起点出发到终点的有效可行路径&#xff0c;就是迷宫问题&#xff08;maze pr…

图深度优先、广度优先遍历(java)

一、图的遍历 图的遍历&#xff0c;即是对结点的访问。一个图有那么多个结点&#xff0c;如何遍历这些结点,需要特定策略&#xff0c;一般有两种访问策略:(1)深度优先遍历(2)广度优先遍历深度优先遍历基本思想。 二、深度优先遍历 图的深度优先搜索(Depth First Search)。 深…

总结深度优先与广度优先的区别

3 总结深度优先与广度优先的区别 1、区别 1&#xff09; 二叉树的深度优先遍历的非递归的通用做法是采用栈&#xff0c;广度优先遍历的非递归的通用做法是采用队列。 2&#xff09; 深度优先遍历&#xff1a;对每一个可能的分支路径深入到不能再深入为止&#xff0c;而且每个结…

连通图里的深度优先和广度优先遍历

从图中的某个顶点出发&#xff0c;按照某种搜索方法沿着图的边访问图中的所有顶点&#xff0c;使得每个顶点仅被访问一次&#xff0c;这个过程称为图的遍历。图的遍历有两种&#xff1a;深度优先遍历和广度优先遍历。   图分为连通图和非连通图&#xff0c;这里主要讨论连通图…

广度优先算法

广度优先算法 本文主要以介绍算法思想为主这里并没有进行源码实现&#xff0c;但是给出推荐使用的数据结构和主要思想。 首先介绍一下广度优先算法&#xff0c;假设要查找AB两点之间的最短距离&#xff0c;以A为起点B为终点。可以先遍历A的相邻节点&#xff0c;这些节点称之为…

C语言基于邻接表的图的深度优先、广度优先遍历

目录 1 深度优先&#xff08;Depth_First Search&#xff09; 2 广度优先&#xff08;Broadth_First Search&#xff09; 3 基于邻接表的深度优先、广度优先遍历 4 源代码示例 4.1 深度优先 4.2广度优先 假设有无向图G &#xff08;V&#xff0c;E&#xff09;&#xff…

数据结构之深度优先和广度优先遍历

文章目录 图为什么要有图图的常用概念邻接矩阵邻接表图的深度优先遍历深度优先遍历基本思想深度优先遍历算法步骤深度优先算法的代码实现 图的广度优先遍历广度优先遍历基本思想广度优先遍历算法步骤广度优先算法的代码实现图结构完整代码 图 为什么要有图 1)前面我们学了线性…

图的深度优先和广度优先遍历算法

编写一个程序&#xff0c;输出下面带权有向图的邻接表&#xff0c;并根据该邻接表&#xff0c;实现图的遍历运算&#xff0c;具体要求如下&#xff1a; (1)从顶点0开始的深度优先遍历序列(递归算法) (2)从顶点0开始的深度优先遍历序列(非递归算法) (3)从顶点0开始的广度优先遍历…

算法之深度优先、广度优先算法

目录 前言&#xff1a; 搜索算法&#xff1a; 广度优先搜索算法 深度优先搜索算法 问题&#xff1a;如何找出社交网络中某个用户的三度好友关系&#xff1f; 总结&#xff1a; 参考资料&#xff1a; 前言&#xff1a; 图这种数据结构经常用于表示一个社交网络&#x…

广度优先搜索与深度优先搜索

广度优先搜索&#xff08;宽度优先搜索&#xff0c;BFS&#xff09;和深度优先搜索&#xff08;DFS&#xff09;算法的应用非常广泛&#xff0c;本篇文章主要介绍BFS与DFS的原理、实现和应用。 深度优先搜索 图的深度优先搜索(Depth First Search)&#xff0c;和树的先序遍历…

深度优先遍历与广度优先遍历

1、深度优先遍历(Depth First Search, 简称 DFS) 1.1、主要思路 从图中一个未访问的顶点 V 开始&#xff0c;沿着一条路一直走到底&#xff0c;然后从这条路尽头的节点回退到上一个节点&#xff0c;再从另一条路开始走到底…&#xff0c;不断递归重复此过程&#xff0c;直到所…