页面存在多个laydate日期控件,点击弹出层闪退问题解决

之前写过一篇文章:lay-key引发的laydate闪现问题 ,解决因为页面中 lay-key 导致的 laydate 日期时间控件弹出层闪退的问题。

今天有幸又使用了 layui 的日期控件,也看了一下官方文档,发现页面中的第一个控件可以正常使用,其他的都会有闪退现象。

代码如下:

HTML

<div class="input-text">
  <input class="lay-date" name="learnTimeS" type="text" placeholder="请选择">
  -
  <input class="lay-date" name="learnTimeE" type="text" placeholder="请选择">
</div>

初始化 laydate

layui.use('laydate', function(){
  var laydate = layui.laydate;
  laydate.render({
    elem: '.lay-date'
  });
});

从控制台查看网页代码可以发现,这样初始化之后,页面中所有的 laydate 控件的 lay-key 的值全部为 1

这也就是页面中只有第一个能用,其他的 laydate 控件全部闪退的原因。

解决方法

遍历页面中的 lay-date 元素,挨个给它初始化:

layui.use('laydate', function(){
  var laydate = layui.laydate;
  lay('.lay-date').each(function(){
    laydate.render({
      elem: this,
      trigger: 'click'
    });
  });
});

这样,就可以正常显示了。

未经允许不得转载:Web前端开发资源网 » 页面存在多个laydate日期控件,点击弹出层闪退问题解决

推荐阅读:

Vue.js学习笔记——项目目录结构

jQuery实现元素的鼠标移入移出及点击显示隐藏(微信二维码)

Linux下导入SQL文件及MySQL常用命令

Discuz X3.4 MySQL数据库连接问题的解决方法

使用float后清除浮动的几种方法

赞 (1)
分享到: +

评论 沙发

Avatar

换个身份

  • 昵称 (必填)
  • 邮箱 (选填)