之前写过一篇文章: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' }); }); });
这样,就可以正常显示了。
未经允许不得转载:前端资源网 - w3h5 » 页面存在多个laydate日期控件,点击弹出层闪退问题解决