layui/examples/laydate.html
贤心 ae2bdd999b
chore: 简单分支同步 (#1523)
* ci(issue): 增加 duplicate 标签的定时关闭任务

* docs(issue): 优化 discussion 标签文案

* ci: 优化 issue 被创建和被编辑时的 action 校验逻辑

* refactor(issue-opened): 简化语句

* docs(issue): 优化 bot 回复文案

* Squashed commit of the following:

commit e5aa6c3a87
Author: morning-star <1453017105@qq.com>
Date:   Tue Dec 26 22:32:10 2023 +0800

    feat(transfer): 新增 `dblclick` 选项 (#1491)

    * feat(transfer): 新增 `dblclick` 选项

    * style(transfer): 优化代码书写风格

    ---------

    Co-authored-by: 贤心 <3277200+sentsim@users.noreply.github.com>

commit ed3bab52e5
Author: morning-star <1453017105@qq.com>
Date:   Mon Dec 25 14:53:55 2023 +0800

    chore(select): 优化搜索面板打开逻辑 (#1498)

commit 5db18c6f00
Author: 贤心 <3277200+sentsim@users.noreply.github.com>
Date:   Mon Dec 25 14:52:52 2023 +0800

    docs: 优化 issue 模板提示文案 (#1500)

commit 567a1e70c1
Author: morning-star <1453017105@qq.com>
Date:   Mon Dec 25 13:22:50 2023 +0800

    feat(upload): 加强 data 选项的函数写法,支持获取文件相关数据 (#1494)

    close https://gitee.com/layui/layui/issues/I8JAC1

commit 6abb1eedd8
Author: 贤心 <3277200+sentsim@users.noreply.github.com>
Date:   Mon Dec 25 12:15:51 2023 +0800

    ci: 优化 issue 被创建和被编辑时的 action 校验逻辑 (#1496)

    * ci(issue): 增加 duplicate 标签的定时关闭任务

    * docs(issue): 优化 discussion 标签文案

    * ci: 优化 issue 被创建和被编辑时的 action 校验逻辑

    * refactor(issue-opened): 简化语句

* chore: 更新 version

* style(laydate): 格式化示例代码
2023-12-31 23:51:27 +08:00

522 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>日期模块 - layui</title>
<link rel="stylesheet" href="../src/css/layui.css">
<style>
body{padding: 50px 100px;}
.layui-inline{margin-right: 15px;}
</style>
</head>
<body>
<div class="layui-inline">
<input type="text" class="layui-input" id="test-first" placeholder="带遮罩">
</div>
<br>
<hr>
范围选择1
<div class="layui-inline">
<input type="text" class="layui-input" id="test1">
</div>
<br>
<hr>
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">范围选择2</label>
<div class="layui-inline" id="test1-2">
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="test-startDate-1" class="layui-input" placeholder="开始日期">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="test-endDate-1" class="layui-input" placeholder="结束日期">
</div>
</div>
</div>
</div>
</div>
<br><hr>
日期选择器:
<div class="layui-inline">
<input type="text" class="layui-input" id="test2">
</div>
开启快捷面板:
<div class="layui-inline">
<input type="text" class="layui-input" id="test2-1">
</div>
<br><br><hr><br>
年选择器:
<div class="layui-inline">
<input type="text" class="layui-input" id="test3">
</div>
年月选择器:
<div class="layui-inline">
<input type="text" class="layui-input" id="test4">
</div>
时间时间器:
<div class="layui-inline">
<input type="text" class="layui-input" id="test5">
</div>
<br><br><hr><br>
时间范围选择
<div class="layui-inline">
<input type="text" class="layui-input" id="test55">
</div>
自定义重要日:
<div class="layui-inline">
<input type="text" class="layui-input" id="test555">
</div>
标注法定节假日及补班:
<div class="layui-inline">
<input type="text" class="layui-input" id="test5555">
</div>
<br><br><hr><br>
同时绑定多个:
<div class="layui-inline">
<input type="text" class="layui-input test-item">
</div>
<div class="layui-inline">
<input type="text" class="layui-input test-item">
</div>
<div class="layui-inline">
<input type="text" class="layui-input test-item">
</div>
<br><br><hr><br>
墨绿主题:
<div class="layui-inline">
<input type="text" class="layui-input" id="test6-1">
</div>
自定义头部背景色:
<div class="layui-inline">
<input type="text" class="layui-input" id="test6-2">
</div>
格子主题:
<div class="layui-inline">
<input type="text" class="layui-input" id="test6-3">
</div>
<br><br><hr><br>
<button class="layui-btn" id="test7">其它元素触发</button>
<div class="layui-inline">
<input type="text" class="layui-input" id="test6">
</div>
<textarea></textarea>
<button class="layui-btn" id="test9">外部事件触发</button>
<div class="layui-inline">
<input type="text" class="layui-input" id="test8">
</div>
<br><br><hr><br>
直接嵌套在指定容器中:<br><br>
<div class="layui-inline" id="test10"></div>
<div class="layui-inline" id="test11" style="margin-left: 30px;"></div>
<script src="../src/layui.js" src1="http://local.res.layui.com/layui/release/laydate/dist/laydate.js" charset="utf-8"></script>
<script>
layui.use('laydate', function (laydate) {
//全局配置
laydate.set({
//trigger: 'focus'
});
// 第一个任意示例
laydate.render({
elem: '#test-first',
min: 0,
shade: [0.1, '#000'],
//max: '2016-12-30',
done: function () {
console.log('done', arguments);
},
onConfirm: function () {
console.log('confirm', arguments);
},
onNow: function () {
console.log('now', arguments);
},
onClear: function () {
console.log('clear', arguments);
}
});
// 范围选择1
laydate.render({
elem: '#test1', // 指定元素
type: 'datetime',
trigger: 'click',
// lang: 'en',
// theme: 'grid',
range: true, // 开启日期范围,默认使用“-”分割
// rangeLinked: true,
// min: '1970-1-1',
// max: '2021-5-9',
// value: '2021-05-09 12:06:09',
// value: '2021-05-08 - 2021-03-27',
done: function (value, date, endDate) {
console.log(value, date, endDate);
//this.elem.val(123);
},
change: function (value, date, endDate) {
console.log(value, date, endDate);
}
});
// return;
// 范围选择2
laydate.render({
elem: '#test1-2',
type: 'datetime',
range: ['#test-startDate-1', '#test-endDate-1'],
rangeLinked: true, // 是否开启日期范围选择时的区间联动标注模式
// value: ['2022-05-01', '2022-10-01'],
// value: '2022-05-01 - 2022-06-01',
done: function (value, date, endDate) {
console.log(value);
console.log(date);
console.log(endDate);
}
});
// 日期选择器(单面板)
laydate.render({
elem: '#test2',
//,format: 'yyyy年MM月dd日'
value: new Date(1534766888000),
//,isInitValue: false
format: 'yyyy/MM/dd',
min: 7,
//,max: 0
//,min: '2016-10-14'
//,max: -1
//,value: '1989年10月14日'
ready: function (date) {
console.log(date);
},
done: function (value, date, endDate) {
console.log(value, date, endDate);
//this.elem.val(111111);
},
change: function (value) {
console.log(value);
}
});
// 开启快捷面板
laydate.render({
elem: '#test2-1',
shortcuts: [
{
text: '昨天',
value: (function () {
var now = new Date();
now.setDate(now.getDate() - 1);
return now;
})()
},
{ text: '今天', value: Date.now() },
{
text: '明天',
value: (function () {
var now = new Date();
now.setDate(now.getDate() + 1);
return now;
})()
},
{
text: '上个月',
value: (function () {
var now = new Date();
// now.setDate(now.getDate() - 1);
now.setMonth(now.getMonth() - 1);
return [now];
})()
},
{
text: '上个月的前一天',
value: (function () {
var now = new Date();
now.setMonth(now.getMonth() - 1);
now.setDate(now.getDate() - 1);
return [now];
})()
},
{
text: '某一天',
value: '2020-12-12'
}
]
});
//年选择器
laydate.render({
elem: '#test3',
type: 'year',
//,range: true
//,trigger: 'click'
//,min:'2021-01-01'
//,max:'2022-12-31'
done: function (value, date, endDate) {
console.log(value, date, endDate);
},
change: function (value, date, endDate) {
//this.elem.val(value)
}
});
//年月选择器
laydate.render({
elem: '#test4',
type: 'month',
range: true,
trigger: 'click',
min: '2022-03-01',
max: '2022-05-31',
done: function (value, date, endDate) {
console.log(value, date, endDate);
},
change: function (value, date, endDate) {
this.elem.val(value);
}
});
//时间选择器
laydate.render({
elem: '#test5',
type: 'time',
//,range: true
//,trigger: 'click'
min: '09:30:00',
max: '17:30:00',
done: function (value, date, endDate) {
console.log(value, date, endDate);
},
change: function (value, date, endDate) {
//this.elem.val(value)
}
});
//时间范围选择器
laydate.render({
elem: '#test55',
type: 'time',
range: true,
//,trigger: 'click'
done: function (value, date, endDate) {
console.log(value, date, endDate);
}
});
// 同时绑定多个
laydate.render({
elem: '.test-item',
trigger: 'click'
});
/*
lay('.test-item').each(function(){
laydate.render({
elem: this
,trigger: 'click'
});
});
*/
//自定义重要日
var ins555 = laydate.render({
elem: '#test555',
//,calendar: true //是否开启公历重要节日
mark: {
//标记重要日子
'0-10-14': '生日', //0代表每年
'0-0-15': '中旬',
'2017-8-20': 'v2',
'2017-8-31': '月底'
},
done: function (value, date, endDate) {
if (date.year == 2016 && date.month == 10 && date.date == 14) {
//console.log('Layui 诞生日');
}
},
change: function (value, date, endDate) {
console.log(value);
}
});
// 标注法定节假日及补班
laydate.render({
elem: '#test5555',
value: '2022-5-21',
holidays: [
[
'2022-1-1',
'2022-1-2',
'2022-1-3',
'2022-1-31',
'2022-2-1',
'2022-2-2',
'2022-2-3',
'2022-2-4',
'2022-2-5',
'2022-2-6',
'2022-4-3',
'2022-4-4',
'2022-4-5',
'2022-4-30',
'2022-5-1',
'2022-5-2',
'2022-5-3',
'2022-5-4',
'2022-6-3',
'2022-6-4',
'2022-6-5',
'2022-9-10',
'2022-9-11',
'2022-9-12',
'2022-10-1',
'2022-10-2',
'2022-10-3',
'2022-10-4',
'2022-10-5',
'2022-10-6',
'2022-10-7'
],
[
'2022-1-29',
'2022-1-30',
'2022-4-2',
'2022-4-24',
'2022-5-7',
'2022-10-8',
'2022-10-9'
]
]
});
//墨绿主题
laydate.render({
elem: '#test6-1', //指定元素
type: 'datetime',
theme: 'molv',
value: 20180115,
isInitValue: true,
lang: 'en',
//,range: true
trigger: 'click'
});
//自定义背景色主题
laydate.render({
elem: '#test6-2', //指定元素
type: 'datetime',
theme: '#393D49',
//,range: true
trigger: 'click'
});
//格子主题
laydate.render({
elem: '#test6-3', //指定元素
//,type: 'datetime'
theme: 'grid',
//,range: true
trigger: 'click'
});
//其它元素触发
laydate.render({
elem: '#test6', //指定元素
eventElem: '#test7', //绑定执行事件的元素
lang: 'en'
});
//外部事件
lay('#test9').on('click', function (e) {
laydate.render({
elem: '#test8',
type: 'datetime',
show: true,
//,min: '2017-08-12 00:10:00'
//,max: '2017-08-12 23:10:10'
closeStop: '#test9', //点击 #test6 所在元素区域不关闭控件
change: function (value, date) {
console.log(value, date);
},
done: function (value, date) {
console.log(value, date);
}
});
});
//直接嵌套在指定容器中
var ins10 = laydate.render({
elem: '#test10',
position: 'static',
calendar: true, //是否开启公历重要节日
mark: {
//标记重要日子
'2021-8-20': '',
'2021-8-21': ''
},
done: function (value, date, endDate) {
if (date.year == 2021 && date.month == 8 && date.date == 20) {
ins10.hint(value + ',活动日');
}
},
change: function (value, date, endDate) {
console.log(value, date);
}
});
laydate.render({
elem: '#test11',
position: 'static',
lang: 'en',
type: 'datetime',
calendar: true, //是否开启公历重要节日
done: function (value, date, endDate) {
//console.log(value, date, endDate);
},
change: function (value, date, endDate) {
console.log(value);
}
});
});
</script>
</body>
</html>