记一次解决layui 的bug - layer.open 与 layui渲染问题

本文介绍了一个在使用layui框架时遇到的问题:layer弹窗内的laydate日期选择器因为元素被重复渲染而导致冲突。文章详细描述了解决此问题的方法,即将表单模板从div更改为script标签。

场景是这样的,通过layer打开一个弹窗,里面放置一个表单,表单是用layui来渲染的。

当弹窗完成之后,我需要渲染表单中的一些内容、譬如laydate。

layer.open({
        type: 1,
        title: "新增产品系列",
        content: $("#add_div").html(),
        btn: ['保存', '取消'],
        success: function (layero, index) {
            laydate.render({
                elem: '#date'
            });
        }
});

表单的模板如下:

<div id="add_div" class="hide">
    ...
</div>

然而发现各种各样的问题。尤其是laydate,后来才发现,这是因为渲染了两次导致的。

页面的div虽然隐藏了,但终究还是渲染了。而layer.open的时候又渲染出了一套。导致冲突,解决方法是将模板改为script即可

<script type="text/template" id="add_div">
   // ...
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值