前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >laydate插件实现时间选择器

laydate插件实现时间选择器

作者头像
别团等shy哥发育
发布2023-02-25 17:04:05
2.1K0
发布2023-02-25 17:04:05
举报
文章被收录于专栏:全栈开发那些事

文章目录

一、前言:

layDate 在 layui 2.0 的版本中迎来一次重生。无论曾经它给你带来过多么糟糕的体验,从今往后,所有的旧坑都将弥合。全面重写的 layDate 包含了大量的更新,其中主要以:年选择器、年月选择器、日期选择器、时间选择器、日期时间选择器 五种类型的选择方式为基本核心,并且均支持范围选择(即双控件)。内置强劲的自定义日期格式解析和合法校正机制,含中文版和国际版,主题简约却又不失灵活多样。由于内部采用的是零依赖的原生 JavaScript 编写,因此又可作为独立组件使用。毫无疑问,这是 layui 的虔心之作

以上来自layui官网

二、年选择器:

1、引入js和css文件:

代码语言:javascript
复制
 <!--引用layui的css-->
    <link rel="stylesheet" href="../../commons/layui/src/css/layui.css">
    <!--引用layui的js-->
    <script src="../../commons/layui/src/layui.js" charset="utf-8"></script>

2、写一个input标签:

代码语言:javascript
复制
<input type="text" class="form-control" id="time" name="time"
                                               readonly placeholder="yyyy"/>

3、执行一个laydate实例

代码语言:javascript
复制
layui.use('laydate',function () {
        var laydate = layui.laydate;
        laydate.render({
            elem:'#time',
            type:'year',
            trigger:'click',
            lang:'cn',//设置语言:cn(中文版)、en(英文版)
            calendar:true,  //是否显示公历节日
            ready: function (date) {
                $(".layui-laydate").on('click', 'ul li', function () {
                    $(".layui-laydate").remove();
                });
            },
            change: function (value) {
                $("#time").val(value);
            }
        });
    });

4、页面效果:

在这里插入图片描述
在这里插入图片描述

三、年月选择器

1、替换type属性

只需将type属性的值设置为month即可

代码语言:javascript
复制
 layui.use('laydate',function () {
        var laydate = layui.laydate;
        laydate.render({
            elem:'#time',
            type:'month',
            trigger:'click',
            lang:'cn',//设置语言:cn(中文版)、en(英文版)
            calendar:true,  //是否显示公历节日
            ready: function (date) {
                $(".layui-laydate").on('click', 'ul li', function () {
                    $(".layui-laydate").remove();
                });
            },
            change: function (value) {
                $("#time").val(value);
            }
        });
    });

2、页面效果:

点击输入框

在这里插入图片描述
在这里插入图片描述

选中之后:

在这里插入图片描述
在这里插入图片描述

四、碰到的bug及解决方案

1、每次都会有上次输入的痕迹,影响第二次的输入

解决:为input添加readonly属性

2、实现点击即选中

解决:添加如下代码即可:(根据你自己input的id值做适当修改即可)

代码语言:javascript
复制
ready: function (date) {
                $(".layui-laydate").on('click', 'ul li', function () {
                    $(".layui-laydate").remove();
                });
            },
            change: function (value) {
                $("#time").val(value);
            }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、前言:
  • 二、年选择器:
    • 1、引入js和css文件:
      • 2、写一个input标签:
        • 3、执行一个laydate实例
          • 4、页面效果:
          • 三、年月选择器
            • 1、替换type属性
              • 2、页面效果:
              • 四、碰到的bug及解决方案
                • 1、每次都会有上次输入的痕迹,影响第二次的输入
                  • 2、实现点击即选中
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档