layui 同一个页面多个时间选择器时闪退的问题

遇到的问题:

一个页面中包含多个渲染的时间选择器,如下:

html:

<td colspan="5">
    <input type="text" name="StartTime" autocomplete="off" placeholder="请选择开始时间"   class="layui-input dzstartTime">
    <span>到</span>
    <input type="text" name="EndTime" autocomplete="off" placeholder="请选择结束时间 class="layui-input dzendTime">
    <span>止</span>
</td>

渲染:

var StartImpTime = layui.laydate.render({
    elem: '.startTime',
    theme: '#57B869',
    type: 'datetime'
});
var EndImpTime = layui.laydate.render({
    elem: '.endTime',
    theme: '#57B869',
    type: 'datetime'
});

此时会出现时间选择器打不开或者闪退的情况。

解决方法:

1、先确定layui.js的引入没有问题;

2、如果用的是input元素,给input标签加入lay-key属性,依次赋值,不要重复,如下:

<input type="text" name="StartTime" autocomplete="off" placeholder="请选择开始时间"    class="layui-input dzstartTime" lay-key="1">
    <span>到</span>
    <input type="text" name="EndTime" autocomplete="off" placeholder="请选择结束时间" class="layui-input dzendTime" lay-key="2">

3、渲染时把trigger: 'focues',换成trigger: 'click',如下:

var StartImpTime = layui.laydate.render({
    elem: '.startTime',
    theme: '#57B869',
    type: 'datetime',
    trigger: 'click'
});
var EndImpTime = layui.laydate.render({
    elem: '.endTime',
    theme: '#57B869',
    type: 'datetime',
    trigger: 'click'
});

        第二步和第三步不是同时设置,可以测试,有的通过赋值lay-key就能解决问题,我通过lay-key设置未解决闪退问题,所以试了第三步添加trigger: 'click',目前使用没有问题。

路漫漫其修远兮,吾将上下而求索!

猜你喜欢

转载自blog.csdn.net/weixin_38817361/article/details/124922715