首页 > 其他分享 >layui-laydate时间日历控件详细示例

layui-laydate时间日历控件详细示例

时间:2024-11-14 16:16:13浏览次数:3  
标签:控件 endDate laydate 示例 date 2017 默认值 config

 layui下载地址:http://www.layui.com/

此控件可使用layui或者独立版的layDate,两者初始化有些不同

1.在 layui 模块中使用layui.code

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>layDate快速使用</title>
<link rel="stylesheet" href="/static/build/layui.css" media="all">
</head>
<body>
 
<div class="layui-inline"> <!-- 注意:这一层元素并不是必须的 -->
<input type="text"  id="laydate-startTime" placeholder="请输入开始时间" name="startTime"/>
                                至
<input type="text"   id="laydate-endTime" placeholder="请输入截止时间" name="endTime"/>
</div>
 
<script src="/static/build/layui.js"></script>
<script>
<!-- laydate示例 -->
        layui.use('laydate', function(){
            var laydate = layui.laydate;

            var startDate = laydate.render({
                elem: '#laydate-startTime',
                max: $('#laydate-endTime').val(),
                type:'datetime',
                theme: 'molv',
                trigger: 'click',
                done: function(value, date) {
                    // 结束时间大于开始时间
                    if (value !== '') {
                        endDate.config.min.year = date.year;
                        endDate.config.min.month = date.month - 1;
                        endDate.config.min.date = date.date;
                    } else {
                        endDate.config.min.year = '';
                        endDate.config.min.month = '';
                        endDate.config.min.date = '';
                    }
                }
            });

            var endDate = laydate.render({
                elem: '#laydate-endTime',
                min: $('#laydate-startTime').val(),
                type:'datetime',
                theme: 'molv',
                trigger: 'click',
                done: function(value, date) {
                    // 开始时间小于结束时间
                    if (value !== '') {
                        startDate.config.max.year = date.year;
                        startDate.config.max.month = date.month - 1;
                        startDate.config.max.date = date.date;
                    } else {
                        startDate.config.max.year = '';
                        startDate.config.max.month = '';
                        startDate.config.max.date = '';
                    }
                }
            });
        });
</script>
</body>
</html>

2.作为独立组件使用layui.code

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>使用 layDate 独立版</title>
</head>
<body>
 
<input type="text" id="test1">
 
<script src="laydate.js"></script>
<script>
//执行一个laydate实例
laydate.render({
elem: '#test1' //指定元素
});
</script>
</body>
</html>

详细配置和事件触发,如下注释写的很清楚了

laydate.render({

elem: '#test' //或 elem: document.getElementById('test')、elem: lay('#test') 等(类型:String/DOM,默认值:无必填项,用于绑定执行日期渲染的元素,值一般为选择器,或DOM对象)

,type: 'year'//year-只提供年列表选择||month-只提供年、月选择||date-可选择:年、月、日。type默认值,一般可不填||time-只提供时、分、秒选择||datetime-可选择:年、月、日、时、分、秒

,range: true //或 range: '~' 来自定义分割字符

,format: 'yyyy年MM月dd日' //可任意组合 yyyy年MM月dd日 HH时mm分ss秒===2017年08月18日 20时08分08秒,'yyyy/mm/dd'

,value: '2018-08-18' //必须遵循format参数设定的格式String,默认值:new Date()

,min: '2017-1-1'//min/max - 最小/大范围内的日期时间值 类型:string,默认值:min: '1900-1-1'、max: '2099-12-31'

,max: '2017-12-31'

,trigger: 'click' // 自定义弹出控件的事件(类型:String,默认值:focus,如果绑定的元素非输入框,则默认事件为:click)-采用click弹出

,show: true //默认显示-类型:Boolean,默认值:false;;;;如果设置: true,则控件默认显示在绑定元素的区域。通常用于外部事件调用控件

,position: 'static'//类型:String,默认值:absolute (fixed,absolute,static)

,zIndex: 99999999//层叠顺序-类型:Number,默认值:66666666一般用于解决与其它元素的互相被遮掩的问题。如果 position 参数设为 static 时,该参数无效

,showBottom: false//是否显示底部栏--类型:Boolean,默认值:true如果设置 false,将不会显示控件的底部栏区域

,btns: ['clear', 'now', 'confirm']//类型:Array,默认值:['clear', 'now', 'confirm'](显示清空,今天,确认)

,lang: 'en'//语言类型:String,默认值:cn--内置了两种语言版本:cn(中文版)、en(国际版,即英文版)

,theme: 'grid'//主题-类型:String,默认值:default,theme的可选值有:default(默认简约)、molv(墨绿背景)、#颜色值(自定义颜色背景)、grid(格子主题)

,calendar: true//是否显示公历节日--类型:Boolean,默认值:false

,mark: {//标注重要日子--类型:Object,默认值:无

'0-10-14': '生日'

,'0-12-31': '跨年' //每年12月31日

,'0-0-10': '工资' //每个月10号

,'2017-8-15': '' //具体日期

,'2017-8-20': '预发' //如果为空字符,则默认显示数字+徽章

,'2017-8-21': '发布'

}

,ready: function(date){//控件在打开时触发,回调返回一个参数

console.log(date); //得到初始的日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}

}

,change: function(value, date, endDate){//日期时间被切换后的回调

console.log(value); //得到日期生成的值,如:2017-08-18

console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}

console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。

}

,done: function(value, date, endDate){//控件选择完毕后的回调---点击日期、清空、现在、确定均会触发。

console.log(value); //得到日期生成的值,如:2017-08-18

console.log(date); //得到日期时间对象:{year: 2017, month: 8, date: 18, hours: 0, minutes: 0, seconds: 0}

console.log(endDate); //得结束的日期时间对象,开启范围选择(range: true)才会返回。对象成员同上。

}

});

------------------------------------------------------------------------------------------------------------------------------------------------分割线-----------------------------------------------------------------------------------------------------------------------------------------------------------------

 ps:range的用法

layui.use('laydate', function(){

var laydate = layui.laydate;

//执行一个laydate实例

laydate.render({

elem: '#test1', //指定元素

range:'~',

value: '2019-04-16 ~ 2019-04-19'

});

});

 设置默认值时value 的值不是用数组,是要用跟input中展示的格式一样,这样点击input会自动显示默认区间范围

range也可以写成 range:true ,这样分隔符默认为 ‘-’ ,也就是2019-04-16 - 2019-04-19

标签:控件,endDate,laydate,示例,date,2017,默认值,config
From: https://blog.csdn.net/weixin_40497755/article/details/143774426

相关文章

  • 原子类保证多线程环境下的数据安全的示例
    原子类保证多线程环境下的数据安全的示例 1、原子整型类保证多线程环境下的数据安全示例:packagecom.joyupx.cms.example.thread.concurrent.atomic;importlombok.extern.slf4j.Slf4j;importjava.util.concurrent.atomic.AtomicInteger;/***原子性操作*多线程......
  • Arduino语法详解_含示例详解
    Arduino的程序可以划分为三个主要部分:结构、变量(变量与常量)、函数。  结构部分 一、结构1.1setup()1.2loop()二、结构控制2.1if2.2if...else2.3for2.4switchcase2.5while2.6do...while2.7break2.8continue2.9return2.10goto三、扩展语法......
  • Jmeter (5.6.3) Windows 使用示例
    步骤:1.下载apache-jmeter-5.6.3.zip2.解压,在环境变量Path中,新增jMeter的bin文件夹的路径3.在bin文件夹中,双击jmeter.bat->打开JMeter4.在JMeter的窗口中:文件->新建(创建测试计划)5.测试计划右键:添加->线程(用户)->线程组6.线程组右键:添加->取样器->HTTP请求7.HTTP请......
  • 界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(一)
    KendoUIforAngularListView可以轻松地为客户端设置一个带有图表列表的仪表板,包括分页、按钮选项、数字或滚动,以及在没有更多项目要显示时的通知等。KendoUIforAngular是专用于Angular开发的专业级Angular组件。telerik致力于提供纯粹的高性能AngularUI组件,无需任何jQuery......
  • 界面控件DevExpress WPF中文教程:TreeList视图及创建分配视图
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。无论是Office办公软件的衍伸产品,还是以数据为中心......
  • Avalonia开源控件库强力推荐-Semi.Avalonia
    Avalonia开源控件库强力推荐-Semi.Avalonia Avalonia是什么?Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人......
  • 一个C#winform编写的2D数据曲线显示控件,三个Y轴,自定义曲线图表控件,电压电流实时数据曲
    一个C#winform编写的2D数据曲线显示控件,三个Y轴,自定义曲线图表控件,电压电流实时数据曲线,电压电流轨迹曲线实时刷新,点击显示此处数据(附下载链接)调用该控件案例截图如下所示:点我下载此资源》》》》》》》》......
  • pjsip编译、说明及vs2022使用示例
    环境:window10_x64&vs2022pjsip版本:2.14.1 之前整理过pjsip2.10的编译及python使用示例:https://www.cnblogs.com/MikeZhang/p/pjsip20210116.htmlhttps://www.cnblogs.com/MikeZhang/p/win10py3pjsua-20211010.html 今天整理下pjsip2.14.1的编译、接口说明,以及在vs......
  • [AIGC]使用阿里云Paraformer语音识别录音识别 API 进行音频处理 —— 完整流程及代码
    文章目录一、前提准备1.阿里云账号2.开通录音识别服务3.获取APIKey和AccessToken二、阿里云录音识别API的主要功能介绍三、完整代码流程1.导入依赖库2.设置环境变量3.生成Token4.上传文件并发起识别请求4.1请求4.2请将'{api-key}'替换为你的apikey,'{ta......
  • elementUI中时间控件,设置范围一个月的方法
    <template><el-date-pickerstyle="width:260px;"V-model="timeRange"type="daterange"range-separator="value-format="yyyy-MM-dd"start-placeholder="开始日期"end-pla......